poff-bnff / web2021

1 stars 0 forks source link

robots.txt, noindex & nofollow e peidetud lehtede robotite eest peitmine #533

Open jaanleppik opened 2 years ago

jaanleppik commented 2 years ago

Eesmärk on valitud lehti peita Google jt otsimootorite eest (tooted, persoonid, filmid jms)

Selleks on 2 võimalust:

  1. meta tag'iga head'is märgistada lehed, mida ei tohiks robotid indekseerida
  2. robots.txt failis loetleda url'id, mida ei tohiks robotid indekseerida

Mõned artiklid: https://blog.hubspot.com/marketing/how-to-unindex-pages-from-search-engines https://blog.hubspot.com/marketing/robots-txt-file https://www.internetmarketingninjas.com/tools/robots-txt-generator/

Meie peaks

jaanleppik commented 2 years ago

boolean loodud, nimega 'hidden'

LiisKasper commented 2 years ago

Leidsin umbes sellise lahenduse:

    if self.hidden
        -var link = document.createElement('meta')
            link.setAttribute('name', 'robots');
            link.content = 'noindex' ;
            document.getElementsByTagName('head')[0].appendChild(link)

Igale lehele kus on kirjas hidden tuleks juurde kirjutada meta tag. @mpennaste rumal küsimus, kas igal lehel on oma head, või selliselt meta tag lisades saavad kõik, nt filmid, endale meta külge?

mpennaste commented 2 years ago

@mpennaste rumal küsimus, kas igal lehel on oma head, või selliselt meta tag lisades saavad kõik, nt filmid, endale meta külge?

Ahoi, pole rumalat miskit. Iga leht genereeritakse ENTU poolt eraldi, st igal lehel kõik tagid algusest lõpuni olemas. Seda siis tehtakse template'ide alusel, meil on nt ssg\source_templates\head_common.pug template mis kõigi domeenide lehtedel ühine ja igal domeenil ka oma head template (ala ssg\source_templates\head_poff.pug). St kõik, st filmid, artiklid jne, juhul kui nende self.hidden on true, saavad külge, kui pole true või üldse midagi määratud, siis ei saa.

Usun, et sinna head_common template sisse ta kuhugi võikski panna, seal teisigi if lausetega meta tage... ma nüüd küll ei tea kas just javascripti kasutada vajalik, kas sama näite alusel lihtsalt pärast if lauset meta(name='robots' content='noindex') sama tulemust ei anna? Pole kindel, aga teoorias tundub, et võiks anda.