Apache下通過shell腳本提交網(wǎng)站404死鏈的方法
網(wǎng)站運(yùn)營(yíng)人員對(duì)于死鏈這個(gè)概念一定不陌生,網(wǎng)站的一些數(shù)據(jù)刪除或頁(yè)面改版等都容易制造死鏈,影響用戶體驗(yàn)不說(shuō),過多的死鏈還會(huì)影響到網(wǎng)站的整體權(quán)重或排名。
百度站長(zhǎng)平臺(tái)提供的死鏈提交工具,可將網(wǎng)站存在的死鏈(協(xié)議死鏈、404頁(yè)面)進(jìn)行提交,可快速刪除死鏈,幫助網(wǎng)站SEO優(yōu)化。在提交死鏈的文件中逐個(gè)手動(dòng)填寫死鏈的話太麻煩,工作中我們提倡復(fù)雜自動(dòng)化,所以本文我們一起交流分享Apache服務(wù)中通過shell腳本整理網(wǎng)站死鏈,便于我們提交。
、
1.配置Apache記錄搜索引擎
Apache是目前網(wǎng)站建設(shè)最為主流的web服務(wù),但是apache的日志文件默認(rèn)是不記錄百度、谷歌等各大搜索引擎的爬取程序的,所以首先需要我們?cè)O(shè)置Apache的配置文件。
找到Apache的配置文件httpd.conf,在配置文件中找到下面兩行:
CustomLog "logs/access_log" common #CustomLog "logs/access_log" combined
默認(rèn)采用的是common,這里我們只需要將common這一行前面加#注釋掉,然后將combined這一行前的#去掉即可。然后保存重啟Apache服務(wù)。
注:如果你的服務(wù)器上添加了多個(gè)站點(diǎn),每個(gè)站點(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)站日志記錄格式:
配置前:
配置后:
2.編寫shell腳本
我們通過shell腳本獲取網(wǎng)站日志中指定爬蟲的抓取記錄,然后匯總到一個(gè)文件中,便于后期使用。代碼如下,比如保存為deathlink.sh
#!/bin/bash #初始化變量 #定義蜘蛛U(xiǎn)A信息(默認(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
大家在使用該腳本時(shí),根據(jù)自己服務(wù)器情況調(diào)整下路徑和字段即可,然后執(zhí)行腳本,:
bash deathlink.sh
3.提交死鏈
執(zhí)行上面腳本時(shí)候,就會(huì)在指定目錄下生成包含所有獲取的404頁(yè)面鏈接的文件,每個(gè)連接占一行。例如:
最后在站長(zhǎng)平臺(tái)提交死鏈頁(yè)面中,填寫自己的死鏈文件地址即可,例如:
百度在審核通過之后,會(huì)將已經(jīng)收錄的失效鏈接刪除,以避免失效頁(yè)面鏈接對(duì)網(wǎng)站造成不良的影響。
總結(jié)
以上所述是小編給大家介紹的Apache下通過shell腳本提交網(wǎng)站404死鏈的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
centos服務(wù)器下nginx圖片防盜鏈設(shè)置方法
本篇文章主要介紹了centos服務(wù)器下nginx防盜鏈設(shè)置方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-03-03詳解如何在Ubuntu 20.04上安裝Xrdp服務(wù)器(遠(yuǎn)程桌面)
這篇文章主要介紹了詳解如何在Ubuntu 20.04上安裝Xrdp服務(wù)器(遠(yuǎn)程桌面),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07關(guān)于將Web項(xiàng)目部署到阿里云服務(wù)器(5個(gè)步驟搞定)
這篇文章主要介紹了關(guān)于將Web項(xiàng)目部署到阿里云服務(wù)器(5個(gè)步驟搞定),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Linux之CentOS7下如何關(guān)閉SELINUX
這篇文章主要介紹了Linux之CentOS7下如何關(guān)閉SELINUX問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02CentOS 6.4安裝配置LAMP服務(wù)器(Apache+PHP5+MySQL)
這篇文章主要介紹了CentOS 6.4安裝配置LAMP服務(wù)器(Apache+PHP5+MySQL)的方法,需要的朋友可以參考下2013-06-06Linux下Oracle如何導(dǎo)入導(dǎo)出dmp文件詳解
這篇文章主要給大家介紹了關(guān)于在Linux下Oracle如何導(dǎo)入導(dǎo)出dmp文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-07-07