Förord
Efter att ha använt hexo-submit-urls-to-search-engine
-pluginet kan hexo aktivt skicka nya länkar till Hexo-bloggen till Googles, Bings och Baidus sökmotorers webmasterplattformar för att förbättra webbplatsens indexeringskvalitet och hastighet. Detta plugin låter dig skicka helt naturliga, växtbaserade indexeringsförfrågningar till stora sökmotorer, en gång för alla.
Till exempel, ibland kan min artikel indexeras av Bing bara 5 minuter efter publicering (detta är det bästa fallet, det garanteras inte att det är stabilt på lång sikt). Ser du, det här är kraften i hexo-submit-urls-to-search-engine
. Baidu och Google är lite långsammare.
Dessa tre stora sökmotorer har redan tagit 97 % av den globala sökmotormarknaden (inklusive metasökmotorerna Duckduckgo och andra; Yahoo och Ecosia använder Bings index).
Varning
Icke-professionell användning av annan liknande push-kod kan orsaka farliga biverkningar, inklusive men inte begränsat till: säkerhetsbrist, redundant kod, återuppfinna hjulet, dokumentgnagande, existentiell kris, depression, huvudvärk, och till och med död, upplösning och utplåning.
Den officiella kommunikations-QQ-gruppen och Telegram-gruppen har upphört med sin verksamhet. Gå till Github-ärendesidan för att delta i diskussionen.
Steg
Snabbstart:
- Hämta nycklarna till de olika webmasterplattformarna
- Installera och konfigurera
hexo-submit-urls-to-search-engine
-pluginet hexo clean && hexo g && hexo d
, och kolla upp push-resultaten- Om push-ningen lyckades, gå till Github-adressen och klicka på Star-knappen för att stödja
- Titta även på Github-projektet för att få påminnelser om plugin-uppgraderingar
- Du kan också klicka här för att donera
Hämta nycklar för webmasterplattformen
De nycklar som “antecknas” i det här avsnittet ska alla fyllas i _config.yml
för hexo, formatet ges senare.
Om verifiering av webbplatsen: Vissa Hexo-teman stöder tillägg av HTML-verifieringstaggar för webmasterplattformen, efter att ha fyllt i relevanta inställningar hexo g && hexo d
kan du verifiera. Allmänna detaljerade steg, vänligen googla själv: hexo webmasterplattform verifiering
Baidu
Baidu är en sökmotor från Kina. Om inte komplicerade webbplatsregistreringsformaliteter hanteras i Kina är det svårt att få webbplatsen indexerad.
Om din webbplatsserver finns utanför Kina är det i princip omöjligt att slutföra webbplatsens registreringsformaliteter.
Se det gamla instruktionsdokumentet för att lära dig hur du skickar länkar till Baidu
Bing
Bings webmasterplattform har en ny och en gammal version.
- Registrera dig och logga in på Bings nya webmasterplattform Bing Webmaster Tools
- Lägg till webbplatsen
- Gå till webbplatsens hanteringssida, inställningar, API-åtkomst, API-nyckel, notera API-nyckeln
(På senare tid har Bings webmasterplattform uppgraderats, servern och layouten är instabila, om token inte kan visas kan du försöka igen efter en tid) Nu har den uppgraderats till en ny webmasterplattform.
Detta är ett schematiskt diagram för att få det från den gamla Bing webmasterplattformen:
Om din server finns i Kina, observera att din server måste ha tillgång till det internationella internet för att skicka till Google.
Googles webmasterplattform har också en ny och en gammal version, men förhållandet mellan de två webbplatserna hanteras inte lika bra som Bing. Dessutom tillhandahålls Google Indexing API som vi använder inte av webmasterplattformen, utan hör till Googles utvecklingsplattform google developers. Under processen kan du hänvisa till det officiella dokumentet (tillgängligt i Kina) för konfiguration.
Användningssteg:
- Öppna det officiella dokumentet och följ anvisningarna för att skapa ett projekt och ett servicekonto. Du behöver bara följa instruktionerna för att utföra konfigurationsåtgärder på webbplatsen, du behöver inte slutföra efterföljande operationer som att hämta åtkomsttokens.
Om du bara lägger till behörighets-e-postadressen i Googles nya “Search Console” enligt Googles officiella dokument kommer du fortfarande att få en prompt om “ingen behörighet”. Gå till det gamla Webmaster Tools, klicka på din webbplats och lägg till e-postadressen där.Nu kan du skicka in direkt på den nya webmasterplattformen.- Lägg den hämtade json-nyckelfilen i hexos rotkatalog (samma plats som hexo _config.yml-filen)
Googles gamla webmasterverktyg:
Dessutom finns det en följande uppmaning i det officiella dokumentet, bestäm om du ska aktivera funktionen för att skicka länkar till Google enligt den faktiska situationen:
För närvarande kan Indexing API endast användas för att söka efter webbsidor som innehåller JobPosting
eller BroadcastEvent
(nästlade i VideoObject
). För webbplatser som innehåller många korta webbsidor (som jobbannonser eller livevideor) håller Indexing API innehållet i sökresultaten uppdaterat genom att skicka uppdateringar för olika innehåll separat.
Snabbstart av Indexing API | Google Search Central | Google for Developers
Jag skickade det ändå. Om Google inte söker igenom din webbplats, hur vet de då att din webbsida inte innehåller
jobbannonser eller livevideor
? Eftersom den har sökts igenom, även omjobbannonser eller livevideor
inte hittas, vad finns det för anledning att slösa resurser och kassera den insamlade informationen? Eftersom den används har vårt mål uppnåtts. I själva användningen verkar Google inte ha minskat behörigheten för detta. Kanske Google glömde att ändra dokumentet? Jag har hittat två allvarliga fel i detta dokument som inte har ändrats på många år.
Konfigurera hexo
Installera detta plugin
Kör i hexos rotkatalog:
Självklart är nedladdningshastigheten snabbare med
cnpm
i Kina
npm install --save hexo-submit-urls-to-search-engine
Detta plugin stöder också yarn
-installation:
yarn add hexo-submit-urls-to-search-engine
Redigera hexos _config.yml
hexo-submit-urls-to-search-engine
Konfigurera hexo-submit-urls-to-search-engine
-pluginet, klistra in följande i hexos _config.yml
.
Tips
Du kan naturligtvis använda miljövariabler för att ställa in poster för nycklar, så att även om källkoden placeras i ett offentligt lager, kommer inte nycklarna att läckas
hexo_submit_urls_to_search_engine:
submit_condition: count #Villkoret för när en länk ska skickas in, valbara värden: count | period, stöder endast count för närvarande
count: 10 # Skicka in de 10 senaste länkarna
period: 900 # Skicka in länkar som har ändrats inom 900 sekunder
google: 0 # Om den ska skickas till Google, valbara värden: 1 | 0 (0: nej; 1: ja)
bing: 1 # Om den ska skickas till bing, valbara värden: 1 | 0 (0: nej; 1: ja)
baidu: 1 # Om den ska skickas till baidu, valbara värden: 1 | 0 (0: nej; 1: ja)
txt_path: submit_urls.txt ## Namnet på textdokumentet, länkarna som ska skickas sparas i det här textdokumentet
baidu_host: https://cjh0613.github.io ## Domänen som registrerats i Baidus webmasterplattform
baidu_token: Vänligen hämta enligt dokumentationsanvisningarna ## Observera att detta är din nyckel, så vänligen publicera den inte direkt i ett offentligt lager!
bing_host: https://cjh0613.github.io ## Domänen som registrerats i Bings webmasterplattform
bing_enable_indexnow: false # Om du vill använda indexNow för att skicka länkar till Bing: true (Ja) | false (Nej). Endast version 2.1.1 och senare kan aktivera den här funktionen.
bing_token: Vänligen hämta enligt dokumentationsanvisningarna ## Observera att detta är din nyckel, så vänligen publicera den inte direkt i ett offentligt lager!
google_host: https://cjh0613.github.io ## Domänen som registrerats i Googles webmasterplattform
google_key_file: Project.json #json-filen som innehåller Google-nyckeln, ska finnas i webbplatsens rotkatalog (samma plats som hexo _config.yml-filen), vänligen publicera inte innehållet i json-filen direkt i ett offentligt lager!
google_proxy: http://127.0.0.1:8080 # System-http-proxy som används för att skicka webbadresser till Google, fyll i 0 för att inte använda
replace: 0 # Om du vill ersätta en del av strängen i länken, valbara värden: 1 | 0 (0: nej; 1: ja)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Konsekvenserna av att avslöja nyckeln
Dina “fiender”, medvetna AI, terrorister kan använda din nyckel för att skicka länkar till icke-existerande sidor till sökmotorer. Det förbrukar din kvot så att du inte kan skicka normalt, och att skicka döda länkar kommer att göra att webbplatsens vikt minskar.
Anmärkningar
- submit_condition: Stöder två sätt att avgöra om länkar ska skickas in, nämligen count | period. De nedan count | period konfigurationsalternativen tillämpas separat
- period: en tidsperiod, i sekunder, om skillnaden mellan tiden då artikeln uppdaterades och tiden då pluginet kördes är mindre än detta värde, kommer dess länk att skickas in. Till exempel: det finns två filer a.html och b.html, som motsvarar
https://yoursite.com/a.html
respektivehttps://yoursite.com/b.html
, och skillnaden mellan deras uppdateringstid och tiden då pluginet kördes är 800s respektive 1000s (fältet period är inställt på 900), då kommerhttps://yoursite.com/a.html
att skickas in, medanhttps://yoursite.com/b.html
inte kommer att skickas in - google_proxy: Systemets http-proxy som används för att skicka webbadresser till Google, formatet:
http://proxyhost:port
, ändraproxyhost
ochport
; Hexo kan distribueras utomlands utan att fylla i 0. Om du använder vetenskaplig internetprogramvara ärproxyhost
i allmänhet127.0.0.1
,port
kan visas i inställningarna för programvaran och är i allmänhet8080
. Win10 kan ses under Inställningar -> Proxy - replace: Vissa länkar kan genereras felaktigt (t.ex. kinesiska domännamn, hemsidan finns på
http://cjh0613.github.io/blog
etc.). Detta är en enkel och okomplicerad ersättningsfunktion, som ersätter den angivna strängen i alla genererade länkar. I exemplet ersättshttp://cjh0613.github.io/blog
medhttps://cjh0613.com
. Du kan också ersätta kinesiska domännamn med det transkoderade domännamnet.
2020.7.12 Uppdatera anteckningarna i det här avsnittet, tack till liuyib för förslaget 2021.5.12 Lägg till google_proxy
När du har slutfört ovanstående konfiguration, när du kör hexo generate
-instruktionen i hexos rotkatalog, kommer en .txt
-fil att genereras för att lagra de länkar som ska skickas.
Du kan öppna den här filen för att se om länkarna är korrekta, om de inte är det, vänligen gå till hexos _config.yml
för att konfigurera. Du kan också manuellt ändra denna .txt
-fil innan du skickar länkarna.
deploy
Om du inte har lagt till ett deploy:
-konfigurationsalternativ tidigare, klistra in följande direkt i hexos _config.yml
och åsidosätt standard deploy:
-konfigurationsalternativet.
deploy:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
Efter att ha slutfört detta steg kan du automatiskt skicka länkar till sökmotorer när du kör kommandot hexo deploy
.
- Du måste köra kommandot
hexo deploy
ellerhexo d
för att utlösa sändningen, oavsett om du har använt det här kommandot för distribution tidigare.
Naturligtvis måste du tidigare köra hexo generate
för att generera den senaste .txt-filen för att lagra länkarna som ska skickas.
Om du kan skicka det framgångsrikt, besök Github lagret och ge oss en stjärna för att stödja oss, tack!
Om du redan har angett ett deploy:
-konfigurationsalternativ kommer klistra in ovanstående kodblock att meddela konfigurationskonflikt, lägg bara till det under det befintliga deploy:
-konfigurationsalternativet. Till exempel:
deploy:
- type: git
repo:
coding: git@xxx
branch: master
#Lägg till konfigurationsalternativet för detta plugin:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
Obs: Det finns -
före varje type:
ovan
Stöd för kontinuerlig integration
Det här avsnittet innehåller en referens för distributionsmetoden för hexo som lagras i ett offentligt lager och använder CI (Continuous Integration, t.ex. Github action, travis, coding-ci, netlify, etc.) för att kompilera och publicera.
Baidu och Bing kan använda miljövariabler för att lagra nycklar, Google har andra lösningar, se nedan
Observera att om du använder CI för automatisk distribution måste du lägga till updated:
i varje sidas Front-matter (området som är avgränsat av ---
högst upp i .md
-filen och används för att ange variabler för enskilda filer) för att informera Hexo om att korrigera “artikelns senast ändrade tid”, till exempel:
---
title: Hello World
date: 2013/7/13 20:46:25
updated: 2020-08-25 9:36:00
---
Detta beror på att när filen placeras på den lokala datorn, om det inte finns något updated:
, kommer Hexo att läsa filattributen och använda “filens senast ändrade tid” som “artikelns senast ändrade tid”, och de senaste 10 länkarna kan bedömas och skickas normalt; när CI distribueras automatiskt, eftersom Hexos resurser bara klonas till servern, om updated:
inte har lagts till, kommer Hexo också att läsa filattributen, men vid den här tiden är den senast ändrade tiden i attributen exakt samma som tidpunkten för git-klonen, och Hexo får fel “artikelns senast ändrade tid”, så att den inte kan bedömas och skicka de senaste länkarna normalt.
- Ange
0
i konfigurationsalternativetbaidu_token:
ochbing_token:
underhexo_submit_urls_to_search_engine:
- Ställ in miljövariablerna
BAIDU_TOKEN
,BING_TOKEN
, värdet är den hämtadetoken
- Om du använder Github Action måste du även ange miljövariablerna i
yml
-filen, det finns ett exempel nedan hexo clean && hexo generate && hexo deploy
njut av livet
Referens:
hexo_submit_urls_to_search_engine:
submit_condition: count #Villkoret för när en länk ska skickas in, valbara värden: count | period, stöder endast count för närvarande
count: 10 # Skicka in de 10 senaste länkarna
period: 900 # Skicka in länkar som har ändrats inom 900 sekunder
google: 1 # Om den ska skickas till Google, valbara värden: 1 | 0 (0: nej; 1: ja)
bing: 1 # Om den ska skickas till bing, valbara värden: 1 | 0 (0: nej; 1: ja)
baidu: 1 # Om den ska skickas till baidu, valbara värden: 1 | 0 (0: nej; 1: ja)
txt_path: submit_urls.txt ## Namnet på textdokumentet, länkarna som ska skickas sparas i det här textdokumentet
baidu_host: https://en.cjh0613.com ## Domänen som registrerats i Baidus webmasterplattform
baidu_token: 0 ## Observera att detta är din nyckel, så vänligen publicera den inte direkt i ett offentligt lager!
bing_host: https://en.cjh0613.com ## Domänen som registrerats i Bings webmasterplattform
bing_token: 0 ## Observera att detta är din nyckel, så vänligen publicera den inte direkt i ett offentligt lager!
google_host: https://en.cjh0613.com ## Domänen som registrerats i Googles webmasterplattform
google_key_file: Project.json #json-filen som innehåller Google-nyckeln, ska finnas i webbplatsens rotkatalog (samma plats som hexo _config.yml-filen), vänligen publicera inte innehållet i json-filen direkt i ett offentligt lager!
google_proxy: 0 # System-http-proxy som används för att skicka webbadresser till Google, fyll i 0 för att inte använda
replace: 0 # Om du vill ersätta en del av strängen i länken, valbara värden: 1 | 0 (0: nej; 1: ja)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Github Action, du måste även ställa in miljövariablerna i yml
-filen:
- name: xxxx #Fyll i vad som helst
env:
BAIDU_TOKEN: ${{ secrets.BAIDU_TOKEN }} # Observera här, resten är oviktigt
BING_TOKEN: ${{ secrets.BING_TOKEN }} # Observera här, resten är oviktigt
run: |
npm i -g hexo-cli # Installera hexo
npm i
……
hexo deploy
När det gäller att skicka länkar till Google, finns det så mycket information i json
-nyckelfilen, kopiera och klistra in för att ställa in miljövariabler… det är verkligen besvärligt. Jag lägger json
-nyckelfilen i ett privat lager, klonar den och kopierar den sedan till rotkatalogen för att lösa det.
Plugin-uppgradering
Plugin-uppgraderingspåminnelse
När du har installerat det här pluginet, vänligen titta på det här projektet från Github för att få plugin-uppgraderingspåminnelser ( välj Releases only för att endast få uppgraderingspåminnelser, om du väljer Watching kommer även Issues, Pull requests etc. att skickas, via e-post)
Uppgraderingsoperation
Kör i hexos rotkatalog:
Självklart är nedladdningshastigheten snabbare med
cnpm
i Kina
npm install --save hexo-submit-urls-to-search-engine@version
Jag gav tidigare ett annat kommando: npm update --save hexo-submit-urls-to-search-engine
, men jag stötte på problem när jag testade det.
yarn
-uppgradering:
yarn add hexo-submit-urls-to-search-engine@version
Inkompatibel uppgradering
Varning
Ibland är plugin-uppgraderingar inte bakåtkompatibla och kan kräva att du ändrar konfigurationsalternativen som är relaterade till det här pluginet i hexos _config.yml
eller gör andra ändringar.
Det här fallet åtföljs vanligtvis av en ökning av siffran före den första decimalpunkten i versionsnumret. Till exempel uppgraderas ^1.0.0
till ^2.0.0
.
1.x.x uppgradera till 2.x.x:
Du måste lägga till följande tre konfigurationsalternativ i hexo_submit_urls_to_search_engine:
-konfigurationsalternativet:
replace: 0 # Om du vill ersätta en del av strängen i länken, valbara värden: 1 | 0 (0: nej; 1: ja)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Okej, jag upptäckte att den här uppgraderingen är bakåtkompatibel, även om det inte finns några av dessa tre konfigurationsalternativ kommer inget fel att rapporteras …
Returinformation
Information om lyckad push
Bing
Bing response: { d: null }
Google response: { urlNotificationMetadata:
{ url:
'https://cjh0613.github.io',
latestUpdate:
{ url:
'https://cjh0613.github.io',
type: 'URL_UPDATED',
notifyTime: '2020-06-12T05:37:25.701779228Z' } } }
Annat
Andra returer kan referera till deras officiella dokument, men i allmänhet kan du ta reda på orsaken genom att översätta returen.
Ibland beror det på att sökmotorer bara tillåter att ett visst antal länkar skickas in varje dag. Du kan logga in på deras officiella webbplats för att göra en förfrågan. Efter att mitt webbplatsdomännamn cjh0613.github.io
ändrats till cjh0613.com var Bings kvot 10, efter att ha skickat i 10 dagar i rad ändrades kvoten plötsligt från 10 till 10 000.
Om vissa länkar misslyckas med att skickas in, vänligen hantera dem manuellt: enligt feedbacken, ändra txt-filen som lagrar de inskickade länkarna (ta i allmänhet bort de länkarna som har skickats in) och kör sedan endast hexo deploy
för att skicka in igen, du behöver inte generera om webbplatsen.
Om du vill skicka länkar till sökmotorer varje dag, kör hexo d
varje dag, eller så kan du ställa in Github Action att köra hexo g && hexo d
varje dag, inget behov av att uppfinna hjulet igen.
Frågeresultat
Fråga indexet
Ta att fråga indexet för den här webbplatsen som ett exempel, öppna valfri sökmotor, ange site:domännamn
, här är det:
site:cjh0613.github.io
Sök bara.
Tiden det tar för ett nytt webbplatsindex att gå från 0 → 1 kan vara mycket lång, kanske en månad … vänligen vänta tålmodigt
Den faktiska inkluderingstakten är också relaterad till andra faktorer, det finns mycket SEO-information online, men den är alla centrerad på den officiella beskrivningen.
Fråga sändningshistoriken
Bing
Du kan logga in på Bings nya webmasterplattform för att hitta en detaljerad lista över inskickade länkar (uppdateras i realtid):
https://www.bing.com/webmasters/submiturl?siteUrl=din webbplatslänk
Du kan endast hitta det ackumulerade antalet inskickade länkar och procentandelen misslyckade sändningar under en viss tidsperiod (högst de senaste 30 dagarna) i “fel”-tabellen på adressen nedan (uppdateras i realtid), även om ett diagram över data som skickats in varje dag ges, det är som om det inte gavs något …
https://console.developers.google.com/apis/api/indexing.googleapis.com/metrics?project=