Hvorfor er Kardashians berømte ??? | Tyler Oakley

Dette spørgsmål er en opfølgning på dette: Skal man skjule RTL-kodede URL'er i robots.txt eller ej?

Er det problematisk at medtage både dekodede og kodede versioner af de samme direktiver i robots.txt, såsom følgende?

Disallow: /מדיה_ויקי:* Disallow: /%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:* 

Begge er faktisk "de samme" i den forstand, at den første er i sin oprindelige RTL-syntaks (hebraisk, i dette tilfælde) og afkodet, og den anden er kodet.

"Begrundelsen" er at "sigte" mod nogen nuværende eller mulige fremtidige standard fra Google (eller enhver anden større søgemaskine for den sags skyld). For eksempel: I dag foretrækker et større udviklingshold for søgemaskiner muligvis dekodede versioner, og i morgen foretrækker en anden måske den kodede version; Derfor spørgsmålet, om det er okay bare at have begge dele og være færdig med det?

  • Jeg tror, ​​at dette allerede er besvaret af (mit eget svar) på webmasters.stackexchange.com/a/124210/75842. Specifikationen siger, at du skal "% -kode" ting i filen. Du kan ikke forestille dig alt, hvad fremtiden vil bringe, og gøre ting defensivt angående det. Så for mig er det lige nu baseret på specifikationerne forkert at gøre noget andet end% -kodning.
  • Hej ! Jeg synes "du kan ikke" skulle have været "Jeg tror du ikke burde" ^ __ ^ Tak!
  • Er @JohnDoea og @JosephElazar (fra det linkede spørgsmål) den samme person?
  • Måske så, dette er til en anden diskussion i meta tror jeg;
  • @PatrickMevzek af %-encoding mener du det UTF-8 kodning eller noget andet? Jeg er forvirret over dette ...
+50

Uanset om det foreslåede udkast standarden angiver, at du skal kode eller ej for at besvare dit specifikke spørgsmål ...

Nej, det er usandsynligt, at det forårsager et problem, hvis du inkluderer både URL-kodede (% -kodede) og URL-dekodede (% -kodede) URL-adresser i robots.txt. Den ene eller den anden bliver simpelthen ignoreret, da den ene eller den anden simpelthen ikke stemmer overens.

OPDATERING: For at afklare, alt (dvs. hele robots.txt fil) skal være UTF-8-kodet. Dette er simpelthen tegnkodningen af ​​filen. Så både "URL-kodet" og "URL-afkodet" URL-er i robots.txt er faktisk UTF-8 kodet. "UTF-8 kodet" og "URL kodet" henviser til forskellige ting. Jeg havde tidligere brugt sætningen "standard UTF-8 kodet "for at skelne fra" URL kodet "- dette var måske vildledende, da begge er" UTF-8 kodet ". Googles retningslinjer for webmastere (citeret nedenfor) bruger udtrykkene" UTF-8 tegn "og" procent-undsluppet UTF -8 kodede tegn "for at skelne mellem de to.

Ganske forvirrende ser Googles robots.txt-testværktøj kun ud til at matche med% -kodede webadresser*1. Men så vidt jeg har kunnet bestemme, er dette en (overraskende*2) inkonsekvens i værktøjet og ikke afspejlet i den virkelige Googlebot. Reference: https://www.screamingfrog.co.uk/search-console-robots-txt-tester-inconsistencies/

(*1 Det ligner værktøjet blindt URL koder URL'en før sammenligning?)
(*2 Hvis dette virkelig er en fejl i værktøjet, hvorfor har Google ikke behandlet dette problem i de sidste 3+ år?)

FWIW, retningslinjerne for Google Webmaster-hjælp vedrørende robots.txt, som siger, at den er blevet opdateret til at afspejle den foreslåede internetstandard (1. juli 2019) synes at antyde, at om du% -koder URL'en eller ej, valgfri:

Ikke-7-bit ASCII-tegn i en sti kan inkluderes som UTF-8 tegn eller som procent-undslapte UTF-8-kodede tegn pr. RFC 3986

Og Robots Exclusion Protocol - udkast til standard hedder:

Oktetter i URI- og robots.txt-stierne uden for området for US-ASCII-kodet tegnsæt, og dem i det reserverede område defineret af RFC3986, SKAL være procentkodet som defineret af RFC3986 inden sammenligning.

Bemærk den sidste sætning, "før sammenligning" - dette er en instruktion til implementører af den foreslåede standard, ikke nødvendigvis for dem, der skriver robots.txt filen selv.


Disallow: /מדיה_ויקי:* Disallow: /%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:* 

Bortset fra: Du har ikke brug for jokertegn * i slutningen af ​​URL'en, siden robots.txt er præfiks matching som standard.

  • "begge indeholder mange procentvise tegn, ikke?" - Nej, UTF-8-kodet streng er den "dekodede version" som angivet i dit spørgsmål. robots.txt filer (hele filen) skal være UTF-8-kodet (tegnkodning) i modsætning til en anden sprogspecifik kodning, såsom Western-1250 (Centraleuropæiske sprog), ISO-8859-1 (Vesteuropa) eller ISO 8859- 8 (hebraisk) osv.
  • 1 "for at afvise alle websider på et websted, man skal bruge Disallow /*"- Nej, du behøver kun Disallow: / (og glem ikke tyktarmen). Det jokertegn * er en senere tilføjelse til originalen robots.txt "standard". Det er præfiks-matching som standard, f.eks. Disallow: /foo vil afvise /foo, /foobar og /foobar/baz/anything.htmlosv. Kun dig brug for at bruge * hvis du har en variabel del i midt af URL'en.
  • Tak; Jeg må sige - Jeg gennemgår en hård periode, og dette emne er ekstremt forvirrende og irriterende for mig.Jeg tror, ​​det er første gang, jeg hører på "0-7 bit ASCII" VS "fuld 8 bit UTF-8"; så vidt jeg forstår, kan jeg faktisk kombinere dekodet hebraisk + UTF-8 kodet hebraisk, og det skal være fint, selvom kodet UTF-8 hebraisk i sig selv skulle være nok.
  • BTW, skal jeg definere hele emnet "maskinkodning-til-naturlige-sprog" eller noget andet?
  • 1 For at være uddybet ville det være "UTF-8 kodet + URL kodet (dvs.% -kodet)" vs "UTF-8 kodet + URL kodet (dvs.% -kodet)". Eller bare fjern ordet "UTF-8 kodet" helt, som det er antages her. (robots.txt filer skal altid være UTF-8 kodet i modsætning til enhver anden tegnkodning.) Jeg prøver at afklare dette i mit svar.

arbejdet for dig: Charles Robertson | Ønsker du at kontakte os?

nyttige oplysninger