Back to ArticlesTega raje ne bi počeli sami? Vašo stran prijavimo na Baidu po fiksni ceni.Oglejte si storitev prijave na Baidu

Preverjanje lastništva strani na Baiduju: datoteka HTML, metaoznaka in zapis CNAME

Beijing central business district skyline at dusk

Nekdo vam je naložil nalogo, povezano z Baidujem, in prva ovira je zaslon za preverjanje. Baidu ne bo sprejel zemljevida spletnega mesta, ne bo odprl poročil o indeksiranju in ne bo dovolil oddaje niti enega URL-ja, dokler ni prepričan, da je domena vaša. Dokazati je mogoče na tri načine, vsak se obnaša drugače, napake pa niso tiste, ki jih poznate iz Google Search Console.

Sledijo podrobnosti izvedbe za vsako metodo, razlogi, zakaj preverjanje običajno spodleti, in način, kako vsako preverite iz terminala.

Kje se preverjanje sploh dogaja

Baidujevo orodje za spletne skrbnike je Baidu Search Resource Platform (百度搜索资源平台) na ziyuan.baidu.com, ki mu še vedno pravijo Baidu Zhanzhang. Dodate spletno mesto, izberete metodo preverjanja, Baidu pa z vaše domene nekaj prenese, da potrdi nadzor. Šele nato se odklenejo oddaja povezav, nalaganje zemljevida spletnega mesta in diagnostika pajkanja.

Dve stvari v modelu spletnih mest ljudi presenetita, še preden izberejo metodo:

  • Protokol in gostitelj sta del identitete. https://example.com in https://www.example.com sta za Baidu dve različni spletni mesti, prav tako različici na http://. Dodajte natanko tisti izvor, ki ga uporabljajo vaši kanonični URL-ji. Če preverite napačnega, se vse, kar pozneje oddate, nanaša na spletno mesto brez vašega prometa.
  • Prenos pride s celinske Kitajske. Karkoli dokazuje lastništvo, mora biti od tam dosegljivo prek javnega interneta, brez varnostne vmesne strani pred njim. To eno dejstvo pojasni večino napak z dna tega članka.

Pred vsem tem pa je račun. Brez računa Baidu do zaslona za preverjanje sploh ne pridete, registracijo pa potrdi SMS na mobilno številko s celinske Kitajske. Za podjetje v Evropi ali Združenem kraljestvu je to resničen zid in dobro je to vedeti, preden za DNS porabite celo popoldne. Več o tem na koncu.

1. metoda: preveritvena datoteka HTML

Najpogostejša in tista, ki ji dajte prednost, kadar lahko objavite statično datoteko.

Baidu za vaše spletno mesto ustvari datoteko in jo ponudi v prenos. Ime je videti takole:

baidu_verify_codeva-XXXXXXXXXX.html

Starejša spletna mesta so dobila imena v obliki baidu_verify_XXXXXXXXXX.html, nekatere nadzorne plošče pa namesto codeva- prikažejo predpono code-. Imena ali žetona ne poskušajte sestaviti po objavi na blogu: prenesite datoteko, ki vam jo da Baidu, ali pa niz s plošče prekopirajte znak za znakom. Vsebina datoteke je kratka, običajno le žeton in nič drugega.

Strežena mora biti iz korena izvora, ki ste ga registrirali:

https://example.com/baidu_verify_codeva-XXXXXXXXXX.html

Ne v podimeniku, ne za jezikovno predpono, ne na drugem gostitelju.

Kam gre datoteka glede na tehnologijo

| Tehnologija | Lokacija | | --- | --- | | Vite, Create React App, SvelteKit (static), Nuxt | public/ ali static/ v korenu projekta | | Next.js (oba usmerjevalnika) | public/ | | Hugo, Astro | static/ oziroma public/ | | Laravel | public/ | | Django | imenik static/, ki ga zbere collectstatic, ali pa ga neposredno streže nginx | | ASP.NET Core | wwwroot/ | | WordPress | koren spletnega mesta ob wp-config.php, prek SFTP | | Navadni nginx ali Apache | korenski imenik dokumentov |

Preverite tako, kot bo preveril Baidu

curl -sSI https://example.com/baidu_verify_codeva-XXXXXXXXXX.html
curl -sS  https://example.com/baidu_verify_codeva-XXXXXXXXXX.html

Želite HTTP/2 200, content-type vrste text/html, nobene glave location in telo, ki je natanko žeton. Trije izidi pomenijo, da še niste končali:

  • 301 ali 302. Nekaj normalizira pot, najpogosteje pravilo o poševnici na koncu ali jezikovna preusmeritev, ki vsako neujemajočo se pot pošlje na /en/.... Dodajte izjemo pred splošnim pravilom.
  • 200, ki vrne lupino aplikacije. To je daleč najpogostejši lažni uspeh. Enostranska aplikacija s splošno potjo na vsako pot odgovori z index.html in statusom 200, zato datoteka „obstaja”, njeno telo pa je vaša koda React. Baidu prebere telo, žetona ne najde in preverjanje zavrne. Statično datoteko strezite pred rezervno potjo SPA.
  • 404, ki vztraja po objavi. Običajno je kriv CDN, ki je predpomnil negativni odgovor. Počistite točno to pot in nato znova preverite s curl -H 'Cache-Control: no-cache'.

Datoteko pustite v repozitoriju. Baidu lastništvo občasno preveri znova, spletno mesto brez preveritvene datoteke pa tiho izpade s plošče.

2. metoda: metaoznaka HTML

Uporabite jo, kadar lahko urejate predloge, datotek v koren spletnega mesta pa ne morete odložiti, kar je običajno stanje na upravljanem CMS ali na gostovalni platformi.

Baidu vam da oznako te oblike, ki gre v <head> domače strani:

<meta name="baidu-site-verification" content="codeva-XXXXXXXXXX" />

Atribut name je vedno baidu-site-verification, zapisan natanko tako, z vezaji. Vrednost content je žeton s plošče.

Ali bo delovala, odločijo tri pravila:

  1. Biti mora znotraj <head>. Razčlenjevalnik, ki jo najde v <body>, ima glavo za že zaprto. Karkoli vrinjenega za prvim elementom zunaj glave pride prepozno.
  2. Biti mora v HTML, ki ga pošlje strežnik. Odprite view-source: ali še bolje curl -sS https://example.com | grep baidu-site-verification. Če se oznaka pokaže samo v pregledovalniku elementov v DevTools, jo je po hidraciji dodal JavaScript in ne šteje. Prav to podre stvar pri aplikacijah React in Vue, upodobljenih na strani odjemalca, in zato je pri SPA lažja metoda z datoteko.
  3. Preživeti mora ogrodje. Upravljalniki glave oznake razdvojujejo in čistijo. Next.js jo hoče v izvozu metadata, ne kot ohlapen <meta> v komponenti. React Helmet zavrže oznake, upodobljene zunaj svojega ponudnika. Nekateri varnostni vtičniki za CMS pobrišejo metaoznake z neznanimi imeni. Upravitelj oznak je ne more postaviti, ker teče na strani odjemalca.

Umestitev po ogrodjih:

// Next.js App Router, app/layout.js
export const metadata = {
  other: { 'baidu-site-verification': 'codeva-XXXXXXXXXX' },
}
// WordPress, functions.php podrejene teme
add_action('wp_head', function () {
  echo '<meta name="baidu-site-verification" content="codeva-XXXXXXXXXX" />' . "\n";
}, 1);

Na strani, upodobljeni na strežniku, jo dajte v osnovno predlogo ob oznaki charset in viewport in nanjo pozabite. Pri Hugo je to layouts/_default/baseof.html, pri Django osnovna predloga, ki jo razširjajo vse strani.

3. metoda: zapis CNAME

Metoda DNS je prava izbira, kadar ne morete objaviti ničesar, kadar spletno mesto stoji za napravo, ki je ne nadzorujete, ali kadar želite, da preverjanje preživi vse prihodnje objave. Poleg tega dokaže nadzor nad celotno domeno in ne nad enim samim dokumentom.

Baidu vam pokaže naključno oznako gostitelja, ki jo ustvarite pod svojo domeno in kaže na Baidu:

abcdef123456.example.com.  3600  IN  CNAME  ziyuan.baidu.com.

V večini plošč DNS vnesete samo levo oznako, ker je cona že predpostavljena:

| Polje | Vrednost | | --- | --- | | Vrsta | CNAME | | Ime / Gostitelj | abcdef123456 | | Vrednost / Cilj | ziyuan.baidu.com | | TTL | 3600 ali najnižji, ki ga plošča med preizkušanjem dovoli |

Štiri stvari gredo tu narobe vedno znova:

  • Domena se pripne dvakrat. Če v ploščo, ki cono že predpostavlja, vtipkate abcdef123456.example.com, nastane abcdef123456.example.com.example.com. Če vaša plošča po shranjevanju prikaže polno ime, ga preberite.
  • Pika na koncu cilja. V surovi datoteki cone se ziyuan.baidu.com brez končne pike razume relativno na cono in postane ziyuan.baidu.com.example.com. Plošče to uredijo namesto vas, datoteke za named in Terraform pa ne.
  • Posrednik pred zapisom. Pri Cloudflare se zapis s posredovanjem (oranžni oblaček) od zunaj ne razreši več kot CNAME: avtoritativni odgovor postanejo Cloudflarovi zapisi A. Preveritveni zapis nastavite na DNS only.
  • Čakanje, krajše od TTL. Če ima razreševalnik za to ime že predpomnjen negativni odgovor, velja stari TTL. Preverite, kaj vidi svet, in ne, kaj piše v vaši plošči.
dig +short abcdef123456.example.com CNAME
# ziyuan.baidu.com.

dig +short @8.8.8.8 abcdef123456.example.com CNAME

Zapis pustite pri miru. Če ga po uspešnem preverjanju izbrišete, si nakopljete napako ob poznejšem ponovnem preverjanju.

Zakaj preverjanje spodleti, čeprav je vse videti pravilno

Datoteko ste preverili s curl, vrne 200, Baidu pa še vedno reče ne. Pojdite po tem seznamu:

  • Preizkus za bote ali pravilo WAF. Cloudflare Bot Fight Mode, upravljana pravila AWS WAF in večina nastavitev „pod napadom” vsakemu odjemalcu, ki ne izvaja skriptov, vrnejo vmesno stran z JavaScriptom in kodo 403 ali 503. Baidujev prenašalnik jih ne izvaja. Na seznam dovoljenih dajte preveritveno pot ali kar pajka.
  • Geografsko blokiranje. Precej evropskih strani blokira ali omejuje promet s celinske Kitajske, da zmanjša strganje vsebine. Preveritveni prenos pride natanko iz tega obsega. Prepričajte se, da ga nič na robu omrežja ne zavrže.
  • Filtriran uporabniški agent. Pajek se predstavi kot Baiduspider. Nekateri varnostni sistemi neznane nize pajkov obravnavajo kot strgalnike. Če želite pristnost zahteve potrditi, preden jo dovolite: obratni DNS na izvornem naslovu IP se razreši v *.baidu.com ali *.baidu.jp, poizvedba naprej pa se mora ujemati.
  • Blokada v robots.txt. Disallow: / pod nadomestnim uporabniškim agentom ali izrecen blok User-agent: Baiduspider, ki ga je za sabo pustil nekdo drug, prenos ustavi, še preden se ta začne.
  • Težava s TLS, ki jo brskalniki skrijejo. Manjkajoče vmesno potrdilo namizni brskalniki tiho popravijo, preprosti odjemalci pa ne. Domeno spustite skozi zunanji preverjalnik TLS, namesto da zaupate zeleni ključavnici.
  • Preverjanje napačnega izvora. Datoteka je na www.example.com, spletno mesto v Baiduju pa se glasi example.com. Sporočilo o napaki vam tega ne bo povedalo.
  • Počasen prvi bajt. Strežniki v Evropi brez prisotnosti na Kitajskem na zahtevo iz Pekinga odgovorijo počasi, hladen zagon brezstrežniške funkcije pa lahko povrhu preseže časovno omejitev prenosa. Ponovni poskus ob drugi uri resnično pomaga.

Katero metodo izbrati

Če imate cevovod za gradnjo, objavite statično datoteko: najmanj verjetno je, da jo kaj pokvari, in najlažje jo je preizkusiti. Metaoznako vzemite, če živite v CMS in so vaše strani upodobljene na strežniku. CNAME vzemite, če se spletnega mesta sploh ne morete dotakniti ali če želite lastništvo dokazati na ravni domene enkrat in nikoli več.

Karkoli izberete, pustite trajno na mestu in zapišite v svoje zapiske o infrastrukturi, ob druge zapise DNS. Čez leto in pol boste tisti, ki bo brisal skrivnostno datoteko, prav vi.

Česa te metode ne rešijo

Vse tri metode predpostavljajo, da ste že prijavljeni v račun Baidu. Registracijo potrdi SMS na mobilno številko s celinske Kitajske, pri številnih spletnih mestih pa Baidu zahteva še preverjanje resničnega imena (实名认证) s kitajskim osebnim dokumentom ali kitajsko poslovno licenco. Podjetje v Frankfurtu ali Manchestru s popolnoma urejeno cono DNS do zaslona za preverjanje kljub temu ne pride.

Tu nastopi naša storitev prijave na Baidu. Pokažete nam domeno, na svoji strani opravite eno preverjanje lastništva domene, mi pa izpeljemo prijavo in poročamo, kaj je Baidu dejansko indeksiral, po fiksni ceni na domeno. Brez kitajske telefonske številke, brez kitajskega podjetja, brez lastnega računa na Baiduju.

Če želite najprej širšo sliko, celotni vodnik po prijavi na Baidu pokriva zemljevide spletnih mest, API push in to, kaj Baidujevo razvrščanje v resnici nagrajuje. Če se raje pogovorite, rezervirajte klic.

Storitev

To lahko uredimo namesto vas

Dokaz o lastništvu domene, oddaja zemljevida strani in URL-jev ter poročilo o indeksiranju čez dva tedna. Ena domena, fiksna cena, brez kitajske telefonske številke, brez kitajskega podjetja in brez vašega računa na Baiduju.

Oglejte si storitev prijave na Baidu