溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Apache下如何通過shell腳本提交網(wǎng)站404死鏈

發(fā)布時間:2021-07-29 14:17:48 來源:億速云 閱讀:184 作者:小新 欄目:服務(wù)器

這篇文章主要介紹Apache下如何通過shell腳本提交網(wǎng)站404死鏈,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

網(wǎng)站運(yùn)營人員對于死鏈這個概念一定不陌生,網(wǎng)站的一些數(shù)據(jù)刪除或頁面改版等都容易制造死鏈,影響用戶體驗(yàn)不說,過多的死鏈還會影響到網(wǎng)站的整體權(quán)重或排名。

百度站長平臺提供的死鏈提交工具,可將網(wǎng)站存在的死鏈(協(xié)議死鏈、404頁面)進(jìn)行提交,可快速刪除死鏈,幫助網(wǎng)站SEO優(yōu)化。在提交死鏈的文件中逐個手動填寫死鏈的話太麻煩,工作中我們提倡復(fù)雜自動化,所以本文我們一起交流分享Apache服務(wù)中通過shell腳本整理網(wǎng)站死鏈,便于我們提交。

、Apache下如何通過shell腳本提交網(wǎng)站404死鏈

1.配置Apache記錄搜索引擎

Apache是目前網(wǎng)站建設(shè)最為主流的web服務(wù),但是apache的日志文件默認(rèn)是不記錄百度、谷歌等各大搜索引擎的爬取程序的,所以首先需要我們設(shè)置Apache的配置文件。

找到Apache的配置文件httpd.conf,在配置文件中找到下面兩行:

CustomLog "logs/access_log" common
 #CustomLog "logs/access_log" combined

默認(rèn)采用的是common,這里我們只需要將common這一行前面加#注釋掉,然后將combined這一行前的#去掉即可。然后保存重啟Apache服務(wù)。

注:如果你的服務(wù)器上添加了多個站點(diǎn),每個站點(diǎn)有單獨(dú)的配置文件,則我們只需要在相應(yīng)站點(diǎn)的配置文件中設(shè)置CustomLog項(xiàng)即可,例如:

vim /usr/local/apache/conf/vhost/www.chanzhi.org.conf
 ServerAdmin [email protected] DocumentRoot "/data/wwwroot/www.chanzhi.org"
 ServerName www.chanzhi.org
 ServerAlias chanzhi.org
 ErrorLog "/data/wwwlogs/www.chanzhi.org_error_apache.log"
 CustomLog "/data/wwwlogs/www.chanzhi.org_apache.log" combined
 SetOutputFilter DEFLATE
 Options FollowSymLinks ExecCGI
 Require all granted
 AllowOverride All
 Order allow,deny
 Allow from all
 DirectoryIndex index.html index.php

下面是配置前后的網(wǎng)站日志記錄格式:

配置前:

Apache下如何通過shell腳本提交網(wǎng)站404死鏈

配置后:

Apache下如何通過shell腳本提交網(wǎng)站404死鏈

2.編寫shell腳本

我們通過shell腳本獲取網(wǎng)站日志中指定爬蟲的抓取記錄,然后匯總到一個文件中,便于后期使用。代碼如下,比如保存為deathlink.sh

#!/bin/bash
#初始化變量
#定義蜘蛛UA信息(默認(rèn)是百度蜘蛛)
UA='+http://www.baidu.com/search/spider.html'
#前一天的日期(apache日志)
DATE=`date +%Y%m%d -d "1 day ago"`
#定義日志路徑
logfile=/data/wwwlogs/www.chanzhi.org_apache.log-${DATE}.log
#定義死鏈文件存放路徑
deathfile=/data/wwwroot/www.chanzhi.org/deathlink.txt
#定義網(wǎng)站訪問地址
website=http://www.chanzhi.org
#分析日志并保存死鏈數(shù)據(jù)
for url in `awk -v str="${UA}" '$9=="404" && $15~str {print $7}' ${logfile}`
do
 grep -q "$url" ${deathfile} || echo ${website}${url} >>${deathfile}
done

大家在使用該腳本時,根據(jù)自己服務(wù)器情況調(diào)整下路徑和字段即可,然后執(zhí)行腳本,:

bash deathlink.sh

3.提交死鏈

執(zhí)行上面腳本時候,就會在指定目錄下生成包含所有獲取的404頁面鏈接的文件,每個連接占一行。例如:

Apache下如何通過shell腳本提交網(wǎng)站404死鏈

最后在站長平臺提交死鏈頁面中,填寫自己的死鏈文件地址即可,例如:

Apache下如何通過shell腳本提交網(wǎng)站404死鏈

百度在審核通過之后,會將已經(jīng)收錄的失效鏈接刪除,以避免失效頁面鏈接對網(wǎng)站造成不良的影響。

以上是“Apache下如何通過shell腳本提交網(wǎng)站404死鏈”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI