Inleiding
Na het gebruik van de hexo-submit-urls-to-search-engine
plugin in hexo, kunnen nieuwe links van het Hexo-blog proactief worden gepusht naar de webmasterplatforms van Google, Bing en Baidu zoekmachines om de kwaliteit en snelheid van het indexeren van de website te verbeteren. Met deze plugin kun je indexeringsverzoeken naar grote zoekmachines sturen op een volledig natuurlijke en plantaardige manier, waardoor je er in één keer vanaf bent.
Bijvoorbeeld, een van mijn artikelen kan soms binnen 5 minuten na publicatie worden gevonden in Bing (dit is de beste situatie, en een lange-termijn stabiliteit is niet gegarandeerd). Zie je wel, dit is de kracht van hexo-submit-urls-to-search-engine
. Baidu en Google zijn iets langzamer.
Deze drie grote zoekmachines hebben al 97% van het wereldwijde zoekmachinemarktaandeel in handen (inclusief meta-zoekmachines zoals Dogpile, Duckduckgo, enz.; Yahoo en Ecosia die de Bing-index gebruiken).
Waarschuwing
Niet-professioneel gebruik van andere soortgelijke push-codes kan gevaarlijke bijwerkingen veroorzaken, waaronder maar niet beperkt tot: veiligheidsgebreken, redundante code, het opnieuw uitvinden van het wiel, het eindeloos lezen van documentatie, twijfelen aan je eigen bestaan, depressie, hoofdpijn, en zelfs de dood, het uiteenvallen van de ziel, en vernietiging.
De officiële QQ-groep en Telegram-groep zijn niet meer actief. Ga naar de Github issue-pagina om deel te nemen aan de discussie.
Bedieningsstappen
Snel aan de slag:
- Verkrijg de sleutels van elk webmasterplatform
- Installeer en configureer de
hexo-submit-urls-to-search-engine
plugin hexo clean && hexo g && hexo d
, en controleer de push-resultaten- Als het pushen succesvol is, ga dan naar het Github-adres en klik op de Star-knop om het project te ondersteunen
- Kijk tegelijkertijd naar het Github-project om herinneringen voor plugin-upgrades te ontvangen
- Je kunt ook hier klikken om te doneren
Verkrijg de sleutel van het webmasterplatform
De sleutels die in dit gedeelte “genoteerd” zijn, moeten worden ingevuld in het _config.yml
bestand van Hexo, het formaat wordt later gegeven.
Over het verifiëren van de website: sommige Hexo-thema’s ondersteunen het toevoegen van html verificatie-tags van het webmasterplatform, vul de relevante instellingen in en hexo g && hexo d
om te verifiëren. Voor algemene gedetailleerde bedieningsstappen, zoek zelf op Google: hexo webmaster platform verificatie
Baidu
Baidu is een Chinese zoekmachine. Tenzij u in China ingewikkelde website-registratieprocedures doorloopt, is het moeilijk voor de website om opgenomen te worden.
Als uw website-server zich buiten China bevindt, is het vrijwel onmogelijk om een website-registratieprocedure te doorlopen.
Bekijk de oude documentatie om te zien hoe je links naar Baidu kunt indienen
Bing
Het Bing webmasterplatform heeft een nieuwe en een oude versie.
- Registreer en log in op het nieuwe Bing webmasterplatform Bing Webmaster Tools
- Voeg de website toe
- Ga naar de websitebeheerpagina, instellingen, API-toegang, API-sleutel en noteer de API-sleutel
(Het Bing webmasterplatform is onlangs geüpgraded en de server en lay-out zijn onstabiel. Als de token niet kan worden weergegeven, probeer het dan na een tijdje opnieuw) Het is nu geüpgraded naar het nieuwe webmasterplatform.
Dit is een schematische weergave van het verkrijgen van het van het oude Bing webmasterplatform:
Als uw server zich in China bevindt, zorg er dan voor dat uw server toegang heeft tot het internationale internet om naar Google te kunnen pushen.
Het Google webmasterplatform heeft ook een nieuwe en een oude versie, maar de relatie tussen de twee platforms is niet zo goed geregeld als bij Bing. Bovendien wordt de Google Indexing API die we gebruiken niet geleverd door het webmasterplatform, maar behoort tot het Google Developers platform. Tijdens het proces kunt u de officiële documentatie (beschikbaar in China) raadplegen om te configureren.
Gebruiksstappen:
- Open officiële documentatie en volg de aanwijzingen om een project aan te maken, en een service account te maken. U hoeft alleen de configuratiestappen op de website te volgen, u hoeft de vervolgstappen, zoals het verkrijgen van een toegangstoken, niet af te ronden.
Zelfs als u alleen de rechten-e-mail toevoegt in de nieuwe “Search Console” van Google volgens de officiële Google-documentatie, wordt er nog steeds “geen rechten” weergegeven. Ga naar de oude webmastertools, klik op uw website en voeg het e-mailadres toe.U kunt nu rechtstreeks op het nieuwe webmasterplatform indienen.- Plaats het verkregen json-sleutelbestand in de root-directory van Hexo (dezelfde locatie als het _config.yml-bestand van Hexo).
Oude Google Webmaster Tools:
Bovendien staat in de officiële documentatie de volgende herinnering, bepaal zelf of je de functie voor het indienen van links naar Google wilt inschakelen:
Momenteel kan de Indexing API alleen worden gebruikt om webpagina’s met JobPosting
of BroadcastEvent
(genest in VideoObject
) te crawlen. Voor websites met veel kortstondige webpagina’s (zoals vacatures of live video’s), houdt de Indexing API de inhoud in de zoekresultaten up-to-date door afzonderlijke updates voor verschillende inhoud te pushen.
Indexing API Quick Start | Google Zoekcentrum | Google for Developers
Ik heb het in ieder geval ingediend. Hoe weet Google of uw webpagina’s geen
vacatures of live video's
bevatten, als het de website niet crawlt? Nu het is gecrawld, zelfs als er geenvacatures of live video's
zijn gevonden, wat is de reden om middelen te verspillen en de gecrawlde informatie weg te gooien? Omdat we het gebruiken, is ons doel bereikt. Tijdens het daadwerkelijke gebruik lijkt Google hier ook geen downgrading aan te verbinden. Misschien is Google vergeten de documentatie te wijzigen? Ik heb tot nu toe twee ernstige fouten gevonden in dit document die al jaren niet zijn aangepast.
Configureer hexo
Installeer deze plugin
Voer het volgende uit in de rootdirectory van hexo:
Natuurlijk, het gebruik van
cnpm
in China is sneller om te downloaden
npm install --save hexo-submit-urls-to-search-engine
Deze plugin ondersteunt ook de yarn
installatie:
yarn add hexo-submit-urls-to-search-engine
Bewerk de _config.yml van hexo
hexo-submit-urls-to-search-engine
Configureer de hexo-submit-urls-to-search-engine
plugin, plak de volgende code in de _config.yml
van hexo.
Tip
U kunt natuurlijk omgevingsvariabelen gebruiken om sleutels op te slaan, zodat zelfs als de broncode in een openbare repository wordt geplaatst, de geheime sleutels niet worden gelekt.
hexo_submit_urls_to_search_engine:
submit_condition: count #De voorwaarde voor het indienen van de link, optionele waarden: count | period Ondersteunt momenteel alleen count
count: 10 # Dien de 10 meest recente links in
period: 900 # Dien links in waarvan de wijzigingstijd binnen 900 seconden is
google: 0 # Of je naar Google wilt indienen, optionele waarden: 1 | 0 (0: Nee; 1: Ja)
bing: 1 # Of je naar Bing wilt indienen, optionele waarden: 1 | 0 (0: Nee; 1: Ja)
baidu: 1 # Of je naar Baidu wilt indienen, optionele waarden: 1 | 0 (0: Nee; 1: Ja)
txt_path: submit_urls.txt ## Naam van het tekstdocument, de links die moeten worden gepusht, worden in dit tekstdocument opgeslagen
baidu_host: https://cjh0613.github.io ## Het domein dat is geregistreerd op het Baidu webmasterplatform
baidu_token: Vul in volgens de documentatie ## Let op, dit is uw geheime sleutel, dus publiceer deze niet direct in een publieke repository!
bing_host: https://cjh0613.github.io ## Het domein dat is geregistreerd op het Bing webmasterplatform
bing_enable_indexnow: false # Of je links wilt indienen bij Bing met indexNow: true (Ja) | false (Nee). Deze functie kan alleen worden ingeschakeld in versie 2.1.1 en hoger.
bing_token: Vul in volgens de documentatie ## Let op, dit is uw geheime sleutel, dus publiceer deze niet direct in een publieke repository!
google_host: https://cjh0613.github.io ## Het domein dat is geregistreerd op het Google webmasterplatform
google_key_file: Project.json # Het json-bestand dat de Google-sleutel bevat, wordt in de root-directory van de website geplaatst (dezelfde locatie als het _config.yml-bestand van Hexo), publiceer de inhoud van het json-bestand niet direct in een publieke repository!
google_proxy: http://127.0.0.1:8080 # Het systeem http proxy gebruikt voor het indienen van URL's bij Google, vul 0 in om het niet te gebruiken
replace: 0 # Of je delen van de link wilt vervangen, optionele waarden: 1 | 0 (0: Nee; 1: Ja)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
De gevolgen van het publiceren van de geheime sleutel
Je “vijanden”, zelfbewuste kunstmatige intelligentie en terroristen kunnen je geheime sleutel gebruiken om niet-bestaande pagina links naar zoekmachines te pushen. Dit verbruikt je quotum zodat je niet normaal kunt pushen, en het pushen van dode links leidt tot een daling van het website gewicht.
Opmerkingen
- submit_condition: Ondersteunt twee manieren om te bepalen of links moeten worden ingediend, namelijk count | period. Pas de onderstaande count | period configuratie-items afzonderlijk toe
- period: Een bepaalde periode, in seconden. Als het verschil tussen de updatetijd van het artikel en de runtime van deze plugin kleiner is dan deze waarde, wordt de link ingediend. Bijvoorbeeld: er zijn twee bestanden a.html en b.html, die respectievelijk overeenkomen met
https://yoursite.com/a.html
enhttps://yoursite.com/b.html
. Het verschil tussen hun updatetijd en de runtime van deze plug-in is respectievelijk 800s en 1000s (het veld period is ingesteld op 900), dan wordthttps://yoursite.com/a.html
ingediend, enhttps://yoursite.com/b.html
niet - google_proxy: De systeem http proxy die wordt gebruikt voor het indienen van URL’s bij Google, formaat:
http://proxyhost:port
, wijzigproxyhost
enport
; als Hexo is geïmplementeerd in het buitenland, kun je 0 invullen om het niet te gebruiken. Als je een programma voor wetenschappelijke toegang tot het internet gebruikt, isproxyhost
over het algemeen127.0.0.1
, enport
kan worden bekeken in de software-instellingen, over het algemeen8080
. Win10 kan het bekijken via Instellingen -> Proxy - replace: Sommige links worden mogelijk niet correct gegenereerd (zoals Chinese domeinnamen, de homepage bevindt zich in
http://cjh0613.github.io/blog
, enz.). Dit is een eenvoudige en brute vervangingsfunctie, die de opgegeven tekenreeks in alle gegenereerde links vervangt. In het voorbeeld wordthttp://cjh0613.github.io/blog
vervangen doorhttps://cjh0613.com
. Je kunt ook Chinese domeinnamen vervangen door gecodeerde domeinnamen.
2020.7.12 Update van deze opmerking, met dank aan liuyib voor de suggestie 2021.5.12 Voeg google_proxy toe
Nadat de bovenstaande configuratie is voltooid, wordt bij het uitvoeren van de hexo generate
opdracht in de root-directory van Hexo een .txt
-bestand gegenereerd om de links op te slaan die moeten worden gepusht.
Je kunt dit bestand openen om te controleren of de links correct zijn. Als dit niet het geval is, bezoek dan de _config.yml
van hexo om te configureren. Je kunt dit .txt
-bestand ook handmatig wijzigen voordat je de links pusht.
deploy
Als je nog geen deploy:
configuratie-item hebt toegevoegd, plak dan de onderstaande code rechtstreeks in de _config.yml
van hexo en overschrijf het standaard deploy:
configuratie-item.
deploy:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
Na het voltooien van deze stap worden links automatisch naar de zoekmachines gepusht wanneer je de opdracht hexo deploy
uitvoert.
- Je moet de opdracht
hexo deploy
ofhexo d
uitvoeren om de push te activeren, ongeacht of je deze opdracht eerder hebt gebruikt voor de implementatie.
Natuurlijk moet je eerder hexo generate
uitvoeren om het nieuwste .txt-bestand te genereren om de links op te slaan die moeten worden gepusht.
Als het pushen lukt, ga dan naar de Github repository en Star deze om ons te steunen, bedankt!
Als je de deploy:
configuratie-item hebt ingesteld, wordt er een configuratieconflict gemeld als je het bovenstaande codeblok direct plakt, voeg het direct toe aan de bestaande deploy:
configuratie-item. Bijvoorbeeld:
deploy:
- type: git
repo:
coding: git@xxx
branch: master
#Voeg de configuratie-item van deze plugin toe:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
Let op: er staat een -
voor elke type:
hierboven.
Continue integratie ondersteuning
Deze sectie is ter referentie voor implementatiemethoden waarbij hexo wordt opgeslagen in een openbare repository en wordt gecompileerd en gepubliceerd met behulp van CI (continue integratie, zoals Github action, travis, coding-ci, netlify, enz.).
Baidu en Bing kunnen omgevingsvariabelen gebruiken om geheime sleutels op te slaan, Google heeft andere oplossingen, zie hieronder
Let op: als je CI gebruikt voor automatische implementatie, zorg er dan voor dat je updated:
toevoegt aan de Front-matter van elke pagina (het gedeelte dat is gescheiden door ---
bovenaan het .md
-bestand, dat wordt gebruikt om de variabelen van individuele bestanden op te geven) om Hexo te laten weten dat de “laatste wijzigingstijd van het artikel” moet worden gecorrigeerd, bijvoorbeeld:
---
title: Hallo wereld
date: 2013/7/13 20:46:25
updated: 2020-08-25 9:36:00
---
Dit komt omdat wanneer het bestand op de lokale computer staat, als er geen updated:
is, Hexo de bestandseigenschappen zal lezen en de “laatste wijzigingstijd van het bestand” zal gebruiken als de “laatste wijzigingstijd van het artikel”. Het kan normaal beoordelen en de 10 meest recente links indienen; en wanneer CI automatisch wordt geïmplementeerd, omdat de Hexo-bronnen zojuist naar de server zijn gekloond, als er geen updated:
is toegevoegd, zal Hexo ook de bestandseigenschappen lezen, maar op dit moment is de laatste wijzigingstijd in de eigenschappen exact hetzelfde als de git-kloontijd. Hexo krijgt de verkeerde “laatste wijzigingstijd van het artikel” en kan de meest recente link niet normaal beoordelen en indienen.
- Vul eerst
0
in bij de configuratie-itemsbaidu_token:
enbing_token:
vanhexo_submit_urls_to_search_engine:
- Stel de omgevingsvariabelen
BAIDU_TOKEN
enBING_TOKEN
in, waarbij de waarde de verkregentoken
is - Als je Github Action gebruikt, moet je ook omgevingsvariabelen instellen in het
yml
-bestand, zie het voorbeeld hieronder hexo clean && hexo generate && hexo deploy
en geniet van het leven
Referentie:
hexo_submit_urls_to_search_engine:
submit_condition: count #De voorwaarde voor het indienen van de link, optionele waarden: count | period Ondersteunt momenteel alleen count
count: 10 # Dien de 10 meest recente links in
period: 900 # Dien links in waarvan de wijzigingstijd binnen 900 seconden is
google: 1 # Of je naar Google wilt indienen, optionele waarden: 1 | 0 (0: Nee; 1: Ja)
bing: 1 # Of je naar Bing wilt indienen, optionele waarden: 1 | 0 (0: Nee; 1: Ja)
baidu: 1 # Of je naar Baidu wilt indienen, optionele waarden: 1 | 0 (0: Nee; 1: Ja)
txt_path: submit_urls.txt ## Naam van het tekstdocument, de links die moeten worden gepusht, worden in dit tekstdocument opgeslagen
baidu_host: https://en.cjh0613.com ## Het domein dat is geregistreerd op het Baidu webmasterplatform
baidu_token: 0 ## Let op, dit is uw geheime sleutel, dus publiceer deze niet direct in een publieke repository!
bing_host: https://en.cjh0613.com ## Het domein dat is geregistreerd op het Bing webmasterplatform
bing_token: 0 ## Let op, dit is uw geheime sleutel, dus publiceer deze niet direct in een publieke repository!
google_host: https://en.cjh0613.com ## Het domein dat is geregistreerd op het Google webmasterplatform
google_key_file: Project.json # Het json-bestand dat de Google-sleutel bevat, wordt in de root-directory van de website geplaatst (dezelfde locatie als het _config.yml-bestand van Hexo), publiceer de inhoud van het json-bestand niet direct in een publieke repository!
google_proxy: 0 # Het systeem http proxy gebruikt voor het indienen van URL's bij Google, vul 0 in om het niet te gebruiken
replace: 0 # Of je delen van de link wilt vervangen, optionele waarden: 1 | 0 (0: Nee; 1: Ja)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Github Action, je moet ook omgevingsvariabelen instellen in het yml
-bestand:
- name: xxxx #Vul willekeurig in
env:
BAIDU_TOKEN: ${{ secrets.BAIDU_TOKEN }} # Let hier op, de rest is onzin
BING_TOKEN: ${{ secrets.BING_TOKEN }} # Let hier op, de rest is onzin
run: |
npm i -g hexo-cli # Installeer hexo
npm i
……
hexo deploy
Wat betreft het pushen van links naar Google, er is zoveel informatie in het json
geheime sleutelbestand, het kopiëren en plakken van het instellen van omgevingsvariabelen… het is echt te lastig. Ik heb het json
geheime sleutelbestand in een privérepository geplaatst en het vervolgens gekloond, en het gekopieerd naar de rootdirectory om het probleem op te lossen.
Plugin upgrade
Herinnering voor plugin upgrades
Nadat je deze plugin hebt geïnstalleerd, ga naar Github en kijk naar dit project om herinneringen voor plugin upgrades te ontvangen (selecteer Releases only om alleen herinneringen voor upgrades te ontvangen, als je Watching selecteert, worden ook Issues en Pull-verzoeken gepusht, verzonden via e-mail)
Upgrade operatie
Voer het volgende uit in de root-directory van hexo:
Natuurlijk, het gebruik van
cnpm
in China is sneller om te downloaden
npm install --save hexo-submit-urls-to-search-engine@versie
De vorige opdracht die ik gaf was: npm update --save hexo-submit-urls-to-search-engine
, maar ik had problemen tijdens mijn daadwerkelijke test.
yarn
upgrade:
yarn add hexo-submit-urls-to-search-engine@versie
Niet compatibele upgrade
Waarschuwing
Soms is de plugin upgrade niet achterwaarts compatibel, en moet je mogelijk de configuratie-items met betrekking tot deze plugin in de _config.yml
van hexo wijzigen, of andere wijzigingen aanbrengen.
Deze situatie gaat over het algemeen gepaard met een verhoging van het getal vóór de eerste punt in het versienummer. Zoals ^1.0.0
upgrade naar ^2.0.0
.
1.x.x naar 2.x.x upgrade:
Je moet de volgende drie configuratie-items toevoegen aan het hexo_submit_urls_to_search_engine:
configuratie-item:
replace: 0 # Of je delen van de link wilt vervangen, optionele waarden: 1 | 0 (0: Nee; 1: Ja)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Oké, ik heb ontdekt dat deze upgrade achterwaarts compatibel is, zelfs als deze drie configuratie-items niet aanwezig zijn, zal er geen fout worden gemeld…
Teruginformatie
Succesvolle push-informatie
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' } } }
Anders
Andere antwoorden kun je vinden in hun officiële documentatie, maar over het algemeen weet je de reden wel na het vertalen van het antwoord.
Soms is het omdat zoekmachines slechts een bepaald aantal links per dag mogen indienen. Je kunt inloggen op hun officiële website om te informeren. Nadat het domein van mijn site cjh0613.github.io
is gewijzigd naar cjh0613.com, was het Bing-quotum 10 items, na 10 dagen continu pushen, veranderde het quotum plotseling van 10 naar 10.000.
Als het pushen van sommige links mislukt, behandel ze dan handmatig: wijzig het txt-bestand waarin de gepushte links zijn opgeslagen op basis van de feedback (in het algemeen verwijder je de links die met succes zijn gepusht) en voer vervolgens alleen hexo deploy
uit om opnieuw te pushen, je hoeft de website niet opnieuw te genereren.
Als je dagelijks links naar de zoekmachines wilt pushen, voer dan dagelijks hexo d
uit, je kunt ook Github Action instellen om dagelijks hexo g && hexo d
uit te voeren, het is niet nodig om het wiel opnieuw uit te vinden.
Controleer de resultaten
Controleer index
Neem het controleren van de index van deze site als voorbeeld, open een zoekmachine en voer site:domein
in, in dit geval:
site:cjh0613.github.io
en zoek.
De tijd die een nieuwe site nodig heeft om een index van 0→1 te krijgen kan erg lang zijn, misschien een maand… Wees geduldig.
De werkelijke opnamesnelheid hangt ook af van andere factoren. Er is veel SEO-informatie op het internet, maar deze zijn allemaal gericht op de officiële instructies.
Controleer push-records
Bing
Je kunt de gedetailleerde lijst met gepushte links bekijken (realtime bijgewerkt) op het nieuwe Bing webmasterplatform:
https://www.bing.com/webmasters/submiturl?siteUrl=jouwwebsitelink
Je kunt alleen het cumulatieve aantal gepushte links en het percentage mislukte pushes in een bepaalde periode (maximaal de afgelopen 30 dagen) vinden in de tabel “fouten” op het onderstaande adres (realtime bijgewerkt). Hoewel er een grafiek is met de dagelijkse ingediende gegevens, komt het erop neer dat het niet gegeven wordt…
https://console.developers.google.com/apis/api/indexing.googleapis.com/metrics?project=