Abuz de functia search pe wordpress duce la declasare in google

AlexH

Merg pe strada catre Mine...
Membru personal
Administrative
Freelancer
SEO Expert
Metoda e veche si care o cunosc stiu ca functioneaza a draclui de bine, de asta e inca folosita. Una din cele mai usoare metode sa declasezi un site.
Ma uitam azi pe 3 site ale mele, toate pe wordpress unde va 11.000 de erori 404. Am ramas prost cand am vazut asta pentru ca nu am atatea articole.
Apoi m-am uitat la volumul de vizite venite din google in ultima saptamana sii care sunt la jumate.

Deci ce fac acesti ''bulangii'', ma scuzati de limbaj dar nu pot spune altfel.
  1. iti acceseza site
  2. apoi ia fiecare link in parte unde ii adauga functia de cautare urmat de un termn la plesneala
  3. termenul cautat va returan desigur un 404 error nu?
  4. repeta asta pana cand se satura sau oboseste
  5. google vede ca ai foarte multe link-uri cu 404 error si crede ca respectivul link/articol a fost sters
  6. bufffff te trezesti cu zero vizite

Daca prind un nenorocit din asta ii rup picioarele si apoi il oblig sa le manance.

Asa ce aveti grija pentru ca ''acestia'' stau la panda.

Cum te aperi de asta?
NU am nici cea ma vaga idee.

Cred ca ar f o idee prin htaccess sa faci o regula ca orice este dupa articol/hfdsfldlf sa il stearga si sa ramana url curat.
Daca stie cineva cum sa faca asta, poate posteaza mai jos solutia.
 

Naruto9

VIP Club
Registered
Full Member
Web Designer
VIP Club
în functions.php
PHP:
function eliminare_search_din_post() {
    if ( is_404() or is_single()) {
        global $wp;
        $url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
        $query = explode("/", $url);
        ###############################
        array_shift($query);
        array_shift($query);
        array_shift($query);
        array_shift($query);
        ###############################
        $query = implode("/", $query);
        $final = str_replace($query,"",$url);
        if ( strcasecmp( $url, $final ) != 0 ){
        wp_redirect($final);
        }
    }
}
add_action('template_redirect', 'eliminare_search_din_post');
În funcție de cum aveți url la site puneți sau scoateți array_shift($query);
Eu am structura la articole de forma https:// domeniumeu/articole-denumire/ deci 4 de /
 

Mariuselll

Moderator
Membru personal
Moderator
VIP Club
în functions.php
PHP:
function eliminare_search_din_post() {
    if ( is_404() or is_single()) {
        global $wp;
        $url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
        $query = explode("/", $url);
        ###############################
        array_shift($query);
        array_shift($query);
        array_shift($query);
        array_shift($query);
        ###############################
        $query = implode("/", $query);
        $final = str_replace($query,"",$url);
        if ( strcasecmp( $url, $final ) != 0 ){
        wp_redirect($final);
        }
    }
}
add_action('template_redirect', 'eliminare_search_din_post');
În funcție de cum aveți url la site puneți sau scoateți array_shift($query);
Eu am structura la articole de forma https:// domeniumeu/articole-denumire/ deci 4 de /
Am incercat si face exact ce zice. Esti Tare @Naruto9
 

AlexH

Merg pe strada catre Mine...
Membru personal
Administrative
Freelancer
SEO Expert
Testa acum si merge super.
Am accesat url care este cu eroare in google webmaster si nu mai afiseaza 404 euro ci duce catre articol.
Eu am adaugat codul de mai sus asa cum este in function.php din thema imediat dupa <?php.
Inca odata mii de multumiri @Naruto9
 

Nicutzy

Member
Registered
în functions.php
PHP:
function eliminare_search_din_post() {
    if ( is_404() or is_single()) {
        global $wp;
        $url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
        $query = explode("/", $url);
        ###############################
        array_shift($query);
        array_shift($query);
        array_shift($query);
        array_shift($query);
        ###############################
        $query = implode("/", $query);
        $final = str_replace($query,"",$url);
        if ( strcasecmp( $url, $final ) != 0 ){
        wp_redirect($final);
        }
    }
}
add_action('template_redirect', 'eliminare_search_din_post');
În funcție de cum aveți url la site puneți sau scoateți array_shift($query);
Eu am structura la articole de forma https:// domeniumeu/articole-denumire/ deci 4 de /
l-am băgat și eu imediat după ce l-am văzut.
Doar o simplă întrebare, se poate adapta în felul în care să funcționeze și pentru 4 de / și 5 de / în același timp?
 

Naruto9

VIP Club
Registered
Full Member
Web Designer
VIP Club
l-am băgat și eu imediat după ce l-am văzut.
Doar o simplă întrebare, se poate adapta în felul în care să funcționeze și pentru 4 de / și 5 de / în același timp?
da, dar îți trebuie un element unic în link. De exemplu dacă ai https: //site/sezon/episod/nume-episod/ faci o interogare dupa sezon.

PHP:
function eliminare_search_din_post() {
    if ( is_404() or is_single()) {
        global $wp;
        $url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
        $query = explode("/", $url);
        ###############################
        if (strrpos( $url, 'sezon')){
            array_shift($query);
            array_shift($query);
            array_shift($query);
            array_shift($query);
            array_shift($query);
            array_shift($query);
        } else {
            array_shift($query);
            array_shift($query);
            array_shift($query);
        }
        ###############################
        $query = implode("/", $query);
        $final = str_replace($query,"",$url);
        if ( strcasecmp( $url, $final ) != 0 ){
            wp_redirect($final);
        }
    }
}
add_action('template_redirect', 'eliminare_search_din_post');
 

AlexH

Merg pe strada catre Mine...
Membru personal
Administrative
Freelancer
SEO Expert
Disallow: /search in robots.txt sau cum ai tu forma de linkuri din cautari rezolva aceasta problema
M-am gandit la asta insa google il vede ca 404 si asta e tot ce conteaza pentru el.
Disallow: /search nu e bine pentru ca nu are efect in cazul nostru.
 

Forzy

Member
Registered
Eu folosesc redirect din rank math, redirectioneaza orice pagina inexistenta spre homepage , banuiesc ca nu am nevoie de acest script nu?
 

Guccii53

New Member
Registered
în functions.php
PHP:
function eliminare_search_din_post() {
    if ( is_404() or is_single()) {
        global $wp;
        $url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
        $query = explode("/", $url);
        ###############################
        array_shift($query);
        array_shift($query);
        array_shift($query);
        array_shift($query);
        ###############################
        $query = implode("/", $query);
        $final = str_replace($query,"",$url);
        if ( strcasecmp( $url, $final ) != 0 ){
        wp_redirect($final);
        }
    }
}
add_action('template_redirect', 'eliminare_search_din_post');
În funcție de cum aveți url la site puneți sau scoateți array_shift($query);
Eu am structura la articole de forma https:// domeniumeu/articole-denumire/ deci 4 de /
Salut daca eu am la sfarsit in permalink cu .html ce trebuie sa modific exemplu: https://www.domain.com/articole-denumire.html
 

Mitzocul

Member
Registered
E mai simplu sa folositi un plugin gen "404 to 301" pentru redirectionari, decat sa modificati temele.
Cod:
https://ro.wordpress.org/plugins/404-to-301/
 

Ovidiu Bokar

It's not a bug, it's a feature!
Administrative
Registered
Full Member
Decat sa ingreunati platforma PHP pentru a rezolva asta, cred ca cel mai usor este un pic htaccess.

Apache config:
ErrorDocument 404 http://yourwebsite.com
Bineinteles inainte sa puneti codul pe ceva site sa il testati.
 

AlexH

Merg pe strada catre Mine...
Membru personal
Administrative
Freelancer
SEO Expert
Loading...
Sus