Prefazione
Dopo aver utilizzato il plugin hexo-submit-urls-to-search-engine
in hexo, i nuovi link del blog Hexo possono essere inviati attivamente alle piattaforme per webmaster dei motori di ricerca Google, Bing e Baidu per migliorare la qualità e la velocità di indicizzazione del sito web. Questo plugin consente di inviare richieste di indicizzazione puramente naturali e nutrite dalle piante ai principali motori di ricerca, una volta per tutte.
Ad esempio, ora un mio articolo a volte può essere trovato nella ricerca di Bing anche solo 5 minuti dopo la pubblicazione (questo è il caso migliore, non è garantita una stabilità a lungo termine). Ecco, questo è il potere di hexo-submit-urls-to-search-engine
. Baidu e Google sono leggermente più lenti.
Questi tre principali motori di ricerca occupano già il 97% della quota di mercato globale dei motori di ricerca (inclusi i meta-motori di ricerca Dogpile, Duckduckgo ecc.; Yahoo, Ecosia ecc. che utilizzano l’indice di Bing).
Avviso
L’uso non professionale di altri codici di push simili può causare effetti collaterali pericolosi, inclusi ma non limitati a: deficit di sicurezza, sindrome del codice ridondante, sindrome della reinvenzione della ruota, sindrome del rosicchiare i documenti, dubbi esistenziali, depressione, mal di testa e persino morte, anima che vola via, annientamento.
Il gruppo QQ ufficiale di scambio e il gruppo Telegram hanno interrotto il servizio. Si prega di andare alla pagina Github issue per partecipare alla discussione.
Passaggi operativi
Guida introduttiva:
- Ottenere le chiavi di ciascuna piattaforma per webmaster
- Installare e configurare il plugin
hexo-submit-urls-to-search-engine
hexo clean && hexo g && hexo d
e verificare i risultati push- Se il push ha esito positivo, andare all’ Indirizzo Github e fare clic sul pulsante Star per supportarlo
- Approfitta per guardare il progetto Github per ricevere promemoria sugli aggiornamenti del plugin
- Puoi anche cliccare qui per fare una donazione
Ottenere la chiave della piattaforma per webmaster
Le chiavi “annotate” in questa sezione devono essere inserite nel _config.yml
di hexo, il formato è fornito in seguito.
Informazioni sulla verifica del sito web: alcuni temi Hexo supportano l’aggiunta di tag di verifica html della piattaforma per webmaster. Dopo aver compilato le impostazioni pertinenti, è possibile eseguire la verifica con hexo g && hexo d
. Per istruzioni dettagliate generali, si prega di cercare autonomamente su Google: verifica hexo piattaforma per webmaster
Baidu
Baidu è un motore di ricerca cinese. A meno che non si seguano complicate procedure di registrazione del sito web presso le autorità cinesi, è difficile che il sito web venga indicizzato.
Se il server del tuo sito web si trova al di fuori della Cina, è praticamente impossibile completare le procedure di registrazione del sito web.
Si prega di consultare la vecchia documentazione per scoprire come inviare i link a Baidu
Bing
La piattaforma per webmaster di Bing ha una nuova e una vecchia versione.
- Registrarsi e accedere alla nuova piattaforma per webmaster di Bing Bing Webmaster Tools
- Aggiungere sito web
- Entrare nella pagina di gestione del sito web, impostazioni, accesso API, chiave API, annotare la chiave API
(Recentemente la piattaforma per webmaster di Bing è stata aggiornata, il server e il layout sono instabili, se il token non viene visualizzato, riprova dopo un periodo di tempo) Ora è stata aggiornata alla nuova piattaforma per webmaster.
Questa è una rappresentazione schematica ottenuta dalla vecchia piattaforma per webmaster di Bing:
Se il tuo server si trova in Cina, si prega di notare che il tuo server deve essere in grado di accedere a Internet internazionale per essere inviato a Google.
Anche la piattaforma per webmaster di Google ha una nuova e una vecchia versione, ma il rapporto tra le due non è buono come quello di Bing. Inoltre, l’API di indicizzazione di Google che utilizziamo non è fornita dalla piattaforma per webmaster, ma appartiene alla piattaforma di sviluppo Google di google developers. Durante il processo, è possibile fare riferimento alla documentazione ufficiale (accessibile nella Cina continentale) per la configurazione.
Passaggi per l’utilizzo:
- Aprire la documentazione ufficiale e seguire le istruzioni per creare un progetto e un account di servizio. È sufficiente seguire le istruzioni per eseguire le operazioni di configurazione sul sito web, non è necessario completare le operazioni successive, come l’ottenimento di token di accesso.
Si continuerà a visualizzare un messaggio di “nessun permesso” anche se si aggiunge un’e-mail di autorizzazione nella nuova “Search Console” di Google secondo la documentazione ufficiale di Google. Si prega di passare al vecchio Strumento per i webmaster, fare clic sul tuo sito web e aggiungere l’indirizzo e-mail in esso. Ora è possibile inviare direttamente nella nuova piattaforma per webmaster.- Mettere il file di chiave json ottenuto nella directory root di hexo (nella stessa posizione del file _config.yml di hexo)
Vecchio Strumento per i webmaster di Google:
Inoltre, nella documentazione ufficiale sono presenti le seguenti istruzioni. Si prega di decidere se abilitare la funzione di invio di link a Google in base alla situazione reale:
Attualmente, l’API di indicizzazione può essere utilizzata solo per la scansione di pagine web che contengono JobPosting
o BroadcastEvent
(nidificati in VideoObject
). Per i siti web che contengono molte pagine di breve durata (come le informazioni sui lavori o i video in diretta), l’API di indicizzazione manterrà aggiornato il contenuto nei risultati di ricerca inviando aggiornamenti separatamente per contenuti diversi.
Guida rapida all’API di indicizzazione | Centro Ricerca Google | Google for Developers
Ad ogni modo, ho fatto l’invio. Se Google non scansiona il tuo sito web, come fa a sapere che le tue pagine web non contengono
informazioni sui lavori o video in diretta
? Dal momento che le scansiona, anche se non vengono trovateinformazioni sui lavori o video in diretta
, perché sprecare risorse e non utilizzare le informazioni già scansionate? Visto che le usa, il nostro scopo è raggiunto. Durante l’uso effettivo, sembra che Google non abbia nemmeno effettuato una declassificazione per questo. Forse Google ha dimenticato di modificare la documentazione? Attualmente ho trovato due gravi errori che non sono stati corretti in questo documento per molti anni.
Configurare hexo
Installare questo plugin
Si prega di eseguire nella directory root di hexo:
Naturalmente, nelle regioni della Grande Cina l’utilizzo di
cnpm
è più veloce.
npm install --save hexo-submit-urls-to-search-engine
Questo plugin supporta anche l’installazione con yarn
:
yarn add hexo-submit-urls-to-search-engine
Modificare _config.yml di hexo
hexo-submit-urls-to-search-engine
Configurare il plugin hexo-submit-urls-to-search-engine
, incollare quanto segue nel _config.yml
di hexo.
Suggerimento
Naturalmente puoi utilizzare le variabili d’ambiente per impostare le chiavi, in modo che anche se il codice sorgente viene inserito in un repository pubblico, non verranno divulgate le chiavi.
hexo_submit_urls_to_search_engine:
submit_condition: count #Condizione per l'invio del link, valori opzionali: count | period. Attualmente supporta solo count
count: 10 # Invia i 10 link più recenti
period: 900 # Invia i link con tempo di modifica entro 900 secondi
google: 0 # Inviare a Google, valori opzionali: 1 | 0 (0: No; 1: Sì)
bing: 1 # Inviare a bing, valori opzionali: 1 | 0 (0: No; 1: Sì)
baidu: 1 # Inviare a baidu, valori opzionali: 1 | 0 (0: No; 1: Sì)
txt_path: submit_urls.txt ## Nome del documento di testo, i link da inviare verranno salvati in questo documento di testo
baidu_host: https://cjh0613.github.io ## Dominio registrato nella piattaforma per webmaster di Baidu
baidu_token: Si prega di ottenere in base alle istruzioni del documento ## Si prega di notare che questa è la tua chiave, quindi per favore non pubblicarla direttamente in un repository pubblico!
bing_host: https://cjh0613.github.io ## Dominio registrato nella piattaforma per webmaster di Bing
bing_enable_indexnow: false # Inviare il link a Bing tramite indexNow: true (Sì) | false (No). Solo la versione 2.1.1 e successive possono abilitare questa funzione.
bing_token: Si prega di ottenere in base alle istruzioni del documento ## Si prega di notare che questa è la tua chiave, quindi per favore non pubblicarla direttamente in un repository pubblico!
google_host: https://cjh0613.github.io ## Dominio registrato nella piattaforma per webmaster di Google
google_key_file: Project.json #File json che memorizza la chiave di Google, collocato nella directory root del sito web (nella stessa posizione del file _config.yml di hexo), si prega di non pubblicare direttamente il contenuto del file json in un repository pubblico!
google_proxy: http://127.0.0.1:8080 # Proxy http di sistema utilizzato per inviare url a Google, compilare 0 per non utilizzarlo
replace: 0 # Sostituire parte delle stringhe nel link, valori opzionali: 1 | 0 (0: No; 1: Sì)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Conseguenze della divulgazione della chiave
Il tuo “nemico”, l’intelligenza artificiale autocosciente, i terroristi possono utilizzare la tua chiave per inviare link a pagine inesistenti ai motori di ricerca. Ciò non solo consumerà la tua quota impedendoti di inviare normalmente, ma causerà anche una diminuzione del peso del sito web a causa dell’invio di link non funzionanti.
Commenti
- submit_condition: supporta due metodi per determinare se inviare un link, ovvero count | period. Applicare rispettivamente le opzioni di configurazione count | period sottostanti
- period: un periodo di tempo, in secondi. Se la differenza tra il tempo di aggiornamento di un articolo e il tempo di esecuzione di questo plugin è inferiore a questo valore, il suo link verrà inviato. Ad esempio: ci sono due file a.html e b.html, corrispondenti rispettivamente a
https://yoursite.com/a.html
ehttps://yoursite.com/b.html
, la differenza tra il tempo di aggiornamento e il tempo di esecuzione di questo plugin è rispettivamente di 800 secondi e 1000 secondi (il campo period è impostato su 900), quindihttps://yoursite.com/a.html
verrà inviato ehttps://yoursite.com/b.html
no - google_proxy: il proxy http di sistema utilizzato per inviare url a Google, formato:
http://proxyhost:port
, modificareproxyhost
eport
; Hexo distribuito all’estero può essere impostato su 0 per non usarlo. Quando si utilizza un software per la navigazione scientifica,proxyhost
è generalmente127.0.0.1
eport
può essere visualizzato e impostato nel software, generalmente8080
. Win10 può essere visualizzato in Impostazioni->Proxy - replace: alcuni link potrebbero essere generati in modo non corretto (come i nomi di dominio cinesi, la home page si trova in
http://cjh0613.github.io/blog
e così via). Questa è una funzione di sostituzione semplice e brutale che sostituisce la stringa specificata in tutti i link generati. Nell’esempio,http://cjh0613.github.io/blog
viene sostituito conhttps://cjh0613.com
. Puoi anche sostituire i nomi di dominio cinesi con i nomi di dominio transcodificati.
12/07/2020 Aggiornata questa sezione di commenti, grazie a liuyib per il suggerimento 12/05/2021 Aggiunto google_proxy
Dopo aver completato la configurazione di cui sopra, quando si esegue il comando hexo generate
nella directory root di Hexo, verrà generato un file .txt
per memorizzare i link da inviare.
Puoi aprire questo file per verificare se il link è corretto, se non è corretto, si prega di visitare _config.yml
di hexo per configurarlo. Puoi anche modificare manualmente questo file .txt
prima di inviare il link.
deploy
Se in precedenza non hai aggiunto una voce di configurazione deploy:
, incolla direttamente quanto segue nel _config.yml
di hexo per sovrascrivere la voce di configurazione deploy:
predefinita.
deploy:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
Dopo aver completato questo passaggio, quando si esegue il comando hexo deploy
, i link verranno automaticamente inviati ai motori di ricerca.
- È necessario eseguire il comando
hexo deploy
ohexo d
per attivare il push, indipendentemente dal fatto che in precedenza si sia utilizzato questo comando per la distribuzione.
Naturalmente, in precedenza è necessario eseguire hexo generate
per generare il file .txt più recente per memorizzare i link da inviare.
Se l’invio ha esito positivo, si prega di andare al repository Github e supportarlo con una Star, grazie!
Se hai già impostato la voce di configurazione deploy:
, incollare direttamente il blocco di codice di cui sopra ti chiederà un conflitto di configurazione, puoi semplicemente aggiungerlo sotto la voce di configurazione deploy:
esistente. Ad esempio:
deploy:
- type: git
repo:
coding: git@xxx
branch: master
#Aggiungere le voci di configurazione di questo plugin:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
Nota: c’è un -
prima di ogni type:
sopra
Supporto per l’integrazione continua
Questa sezione fornisce un riferimento per i metodi di distribuzione in cui hexo è memorizzato in un repository pubblico e viene compilato e pubblicato utilizzando CI (integrazione continua, come Github action, travis, coding-ci, netlify ecc.).
Baidu e Bing possono utilizzare le variabili d’ambiente per memorizzare le chiavi, Google ha altre soluzioni, vedere sotto
Si prega di notare che se si utilizza la distribuzione automatica CI, è necessario aggiungere updated:
a ciascun Front-matter della pagina (l’area separata da ---
nella parte superiore del file .md
utilizzata per specificare le variabili di singoli file) per indicare a Hexo di correggere “l’ultima ora di modifica dell’articolo”, ad esempio:
---
title: Hello World
date: 2013/7/13 20:46:25
updated: 2020-08-25 9:36:00
---
Questo perché, quando il file viene inserito sul computer locale, se non c’è updated:
, Hexo leggerà l’attributo del file e utilizzerà “l’ultima ora di modifica del file” come “l’ultima ora di modifica dell’articolo”, in modo da poter giudicare e inviare i 10 link più recenti; mentre quando si utilizza la distribuzione automatica CI, poiché tutte le risorse di Hexo vengono appena clonate sul server, se non si aggiunge updated:
, Hexo leggerà anche l’attributo del file, ma in questo momento l’ultima ora di modifica dell’attributo è l’identica ora del git clone, Hexo otterrà “l’ultima ora di modifica dell’articolo” errata, quindi non sarà in grado di giudicare e inviare i link più recenti normalmente.
- Inserisci
0
nei parametri di configurazionebaidu_token:
ebing_token:
dihexo_submit_urls_to_search_engine:
- Imposta le variabili d’ambiente
BAIDU_TOKEN
eBING_TOKEN
e i valori sono itoken
ottenuti - Se si utilizza Github Action, è anche necessario impostare le variabili d’ambiente nel file
yml
, un esempio è riportato di seguito hexo clean && hexo generate && hexo deploy
e goditi la vita
Riferimento:
hexo_submit_urls_to_search_engine:
submit_condition: count #Condizione per l'invio del link, valori opzionali: count | period. Attualmente supporta solo count
count: 10 # Invia i 10 link più recenti
period: 900 # Invia i link con tempo di modifica entro 900 secondi
google: 1 # Inviare a Google, valori opzionali: 1 | 0 (0: No; 1: Sì)
bing: 1 # Inviare a bing, valori opzionali: 1 | 0 (0: No; 1: Sì)
baidu: 1 # Inviare a baidu, valori opzionali: 1 | 0 (0: No; 1: Sì)
txt_path: submit_urls.txt ## Nome del documento di testo, i link da inviare verranno salvati in questo documento di testo
baidu_host: https://en.cjh0613.com ## Dominio registrato nella piattaforma per webmaster di Baidu
baidu_token: 0 ## Si prega di notare che questa è la tua chiave, quindi per favore non pubblicarla direttamente in un repository pubblico!
bing_host: https://en.cjh0613.com ## Dominio registrato nella piattaforma per webmaster di Bing
bing_token: 0 ## Si prega di notare che questa è la tua chiave, quindi per favore non pubblicarla direttamente in un repository pubblico!
google_host: https://en.cjh0613.com ## Dominio registrato nella piattaforma per webmaster di Google
google_key_file: Project.json #File json che memorizza la chiave di Google, collocato nella directory root del sito web (nella stessa posizione del file _config.yml di hexo), si prega di non pubblicare direttamente il contenuto del file json in un repository pubblico!
google_proxy: 0 # Proxy http di sistema utilizzato per inviare url a Google, compilare 0 per non utilizzarlo
replace: 0 # Sostituire parte delle stringhe nel link, valori opzionali: 1 | 0 (0: No; 1: Sì)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Github Action, è anche necessario impostare le variabili d’ambiente nel file yml
:
- name: xxxx #Compila a caso
env:
BAIDU_TOKEN: ${{ secrets.BAIDU_TOKEN }} # Presta attenzione qui, il resto non conta
BING_TOKEN: ${{ secrets.BING_TOKEN }} # Presta attenzione qui, il resto non conta
run: |
npm i -g hexo-cli # Installa hexo
npm i
……
hexo deploy
Per quanto riguarda l’invio di link a Google, il file di chiave json
contiene così tante informazioni, copia e incolla per impostare le variabili d’ambiente… è davvero problematico. Ho inserito il file di chiave json
in un repository privato, quindi l’ho clonato e l’ho copiato nella directory root per risolvere il problema.
Aggiornamento del plugin
Promemoria per l’aggiornamento del plugin
Dopo aver installato questo plugin, si prega di guardare questo progetto su Github per ottenere promemoria sugli aggiornamenti del plugin ( selezionare Solo rilasci per ottenere solo promemoria sugli aggiornamenti, se si seleziona Sorveglianza verranno inviati anche Issue, Pull request, ecc., inviati via e-mail)
Operazioni di aggiornamento
Si prega di eseguire nella directory root di hexo:
Naturalmente, nelle regioni della Grande Cina l’utilizzo di
cnpm
è più veloce.
npm install --save hexo-submit-urls-to-search-engine@versione
In precedenza ho fornito un altro comando: npm update --save hexo-submit-urls-to-search-engine
, ma durante il mio test ho avuto dei problemi.
Aggiornamento yarn
:
yarn add hexo-submit-urls-to-search-engine@versione
Aggiornamento incompatibile
Avviso
A volte, l’aggiornamento del plugin non è retrocompatibile e potrebbe essere necessario modificare le voci di configurazione relative a questo plugin in _config.yml
di hexo o apportare altre modifiche.
Questa situazione generalmente si verifica quando il numero prima della prima virgola decimale nel numero di versione aumenta. Ad esempio, da ^1.0.0
a ^2.0.0
.
Aggiornamento da 1.x.x a 2.x.x:
È necessario aggiungere le seguenti tre voci di configurazione alla voce di configurazione hexo_submit_urls_to_search_engine:
:
replace: 0 # Sostituire parte delle stringhe nel link, valori opzionali: 1 | 0 (0: No; 1: Sì)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Va bene, ho scoperto che questo aggiornamento è retrocompatibile, non si verifica un errore anche senza queste tre voci di configurazione…
Informazioni di ritorno
Informazioni di invio avvenuto con successo
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' } } }
Altro
Altri ritorni possono fare riferimento alla loro documentazione ufficiale, ma in generale se si traduce il ritorno si conosce il motivo.
A volte è perché i motori di ricerca permettono di inviare solo un certo numero di link al giorno. Puoi accedere al loro sito web ufficiale per effettuare una verifica. Dopo che il dominio del mio sito web cjh0613.github.io
è stato cambiato in cjh0613.com, la quota di Bing era di 10, dopo aver inviato continuamente per 10 giorni, la quota è improvvisamente cambiata da 10 a 10000.
Se alcuni link non vengono inviati, gestirli manualmente: in base al feedback, modificare il txt che memorizza i link inviati (in genere rimuovere i link che sono stati inviati con successo), quindi eseguire solo hexo deploy
per inviare di nuovo, non è necessario rigenerare il sito web.
Se vuoi inviare link ai motori di ricerca ogni giorno, esegui hexo d
ogni giorno. Puoi anche impostare Github Action per eseguire hexo g && hexo d
ogni giorno, senza dover reinventare la ruota.
Controllare i risultati
Controllare l’indice
Per esempio, per controllare l’indice di questo sito, aprire un qualsiasi motore di ricerca, inserire site:dominio
, qui cioè:
site:cjh0613.github.io
e cercare.
Potrebbe volerci molto tempo prima che la quantità di indice di un nuovo sito web passi da 0 a 1, forse anche un mese… si prega di attendere pazientemente
La velocità di indicizzazione effettiva è correlata anche ad altri fattori, ci sono molte informazioni SEO online, ma sono tutte incentrate sulle istruzioni ufficiali.
Controllare la cronologia di invio
Bing
È possibile accedere alla nuova piattaforma per webmaster di Bing per controllare l’elenco dettagliato dei link inviati (aggiornato in tempo reale):
https://www.bing.com/webmasters/submiturl?siteUrl=il tuo link al sito web
È possibile controllare solo il numero cumulativo di link inviati e la percentuale di invii non riusciti in un determinato periodo di tempo (massimo 30 giorni) nella tabella “errori” all’indirizzo seguente (aggiornata in tempo reale). Sebbene venga fornito un grafico dei dati di invio giornalieri, è come se non fosse fornito…
https://console.developers.google.com/apis/api/indexing.googleapis.com/metrics?project=