header trimis dupa incarcarea unei parti din pagina

Discuţii despre accesabilitate, interfaţa cu utilizatorul,stil de programare, tehnici, algoritmi, managementul proiectului,probleme legate de afişarea în diverse browsere.

Moderator: Moderatori

badtiger
Senior Member
Mesaje: 598
Membru din: Vin Noi 03, 2006 7:54 pm
Contact:

header trimis dupa incarcarea unei parti din pagina

Mesajde badtiger » Dum Mar 10, 2013 12:27 am

Ipoteza:

O baza de date imensa cu fel de fel de "select-uri" in functie de anumite foreign key-uri
Rezultatele sunt paginate
Este nevoie de rewrite
Se doreste utilizarea cat mai responsabila a resurselor din motive bine intemeiate
Linkurile sunt de forma:
*.com/tralala/var1-var2/var3-id.html

Problema este urmatoarea:
Pentru a nu fi atacata pagina de black seo trebuie sa nu permit linkuri duplicat, dar query-ul pentru extragerea datelor este rulat in body.
Ce valoare are daca trimit un 404 header pentru google bot in momentul in care vad ca linkul nu este corect?

PS: Un atac rudimentar cu efect destul de puternic poate fi facut promovand cateva linkuri de genul *.com/tralala/cum-shot/blalala-id.html
** Raspundeti va rog doar daca stiti despre ce vorbiti



Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Re: header trimis dupa incarcarea unei parti din pagina

Mesajde Birkoff » Dum Mar 10, 2013 1:46 am

1) poti baga toata pagina intr-o variabila (de exemplu la inceputul paginii pui ob_start() si la finalul ei pui tot continutul intr-o variabila de forma
$html = ob_get_clean();
asta face si curatarea bufferului.
2) avand pagina intr-o variabila, poti face rewrite prin ea sau sa mai injectezi ce ai nevoie in ea apoi sa trimiti headerele necesare si la final
echo $html;
si ob_end_flush();
3) ca sa nu ai linkuri duplicat, poti baga metatagul canonical cu adresa exacta a acelei pagini.

exemplu concret:

Cod: Selectaţi tot

<?php
ob_start();
// codul cu ce mai ai tu prin el
//...
// la final preiei tot ce ar trebui sa se duca la browser (ai dat prin cod echo pe unde ti-a venit)
$html = ob_get_clean();
// faci rewrite si mai adaugi ce mai ai nevoie prin pagina (canonical de exemplu)
//...
// trimiti la browser headerele dorite
//...
// trimiti la browser continutul paginii si inchizi bufferul
echo $html;
ob_end_flush();
?>
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

badtiger
Senior Member
Mesaje: 598
Membru din: Vin Noi 03, 2006 7:54 pm
Contact:

Re: header trimis dupa incarcarea unei parti din pagina

Mesajde badtiger » Dum Mar 10, 2013 2:01 am

ms de raspunsuri

1] iese din discutie pagina e destul de mare, si un numar mare de vizitatori (serverul este la limita iar clientul nu vrea sa investeasca in acest moment)
2] cu ob-ul ma gandisem si eu sa injectez headerul dupa ce erau deja trimise date la user dar nu stiu care va fi comportarea robotului de la google din moment ce el a primit toate headerele de care avea nevoie...
3] asta nu-mi trecuse prin cap si o sa fac putin research sa vad cata importanta pune google in canonical

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Re: header trimis dupa incarcarea unei parti din pagina

Mesajde Birkoff » Dum Mar 10, 2013 2:56 am

badtiger scrie:ms de raspunsuri

2] cu ob-ul ma gandisem si eu sa injectez headerul dupa ce erau deja trimise date la user dar nu stiu care va fi comportarea robotului de la google din moment ce el a primit toate headerele de care avea nevoie...


nu poti trimite headere daca deja ai trimis ceva la browser, headerele se trimit primele si apoi restu... (daia iti explicasem mai sus tot procesul, cum sa capturezi bufferul astfel incat la browser sa trimiti doar continutul care il vrei si doar headerele pe care le vrei)
google daca primeste header 404 va considera linkul de unde a venit pe pagina aia invalid si il va marca ca atare (ca sa nu il mai indexeze data viitoare), dar va indexa pagina respectiva ca fiind pagina cu text pentru eroarea 404 deci ai grija ce pui in ea.
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.


Înapoi la “Dezvoltare”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 15 vizitatori