Как бороться с дублями или canonical?
Посте того как я избавился от All in One SEO Pack сменив его на код все просто супер. Но вот в плагине была замечательная функция тег canonical, которая указывала поисковикам оригинал. Как теперь с этим бороться, подскажите. Как Вы с этим боритесь?
Понял! Моя ошибка! Я опускал скрипты в футер вот этим скриптом
<?php /** * Load Enqueued Scripts in the Footer * * Automatically move JavaScript code to page footer, speeding up page loading time. */ function footer_enqueue_scripts() { remove_action('wp_head', 'wp_print_scripts'); remove_action('wp_head', 'wp_print_head_scripts', 9); remove_action('wp_head', 'wp_enqueue_scripts', 1); add_action('wp_footer', 'wp_print_scripts', 5); add_action('wp_footer', 'wp_enqueue_scripts', 5); add_action('wp_footer', 'wp_print_head_scripts', 5);
то стал работать не корректно!
Я то и его переместил в футер. Наверное что то неправильно поступил?
Когда речь идет о перемещении в футер то идет речь вот об это
<?php wp_head(); ?>
Мало что понятно, если честно. Приведенный код никак не влияет на каноническую ссылку. Она в движке добавляется так (файл wp-includes/default-filters.php
строка 210):
add_action( "wp_head", "rel_canonical" );
А удаляется так:
remove_action( "wp_head", "rel_canonical" );
Ну значит у меня ее вовсе нет! Вот код моего heder.php
<!DOCTYPE html> <html> <head> <title><?php kama_meta_title (" | "); ?></title> <?php kama_meta_description () ?> <?php kama_meta_keywords () ?> <?php kama_meta_robots () ?> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="generator" content="WordPress 3.8.1" /> <!-- leave this for stats please --> <link rel="stylesheet" href="http://www.industrialist.net.ua/wp-content/themes/azul/style.css" type="text/css" media="screen" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://www.industrialist.net.ua/feed" /> <link rel="alternate" type="text/xml" title="RSS .92" href="http://www.industrialist.net.ua/feed/rss" /> <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="http://www.industrialist.net.ua/feed/atom" /> <link rel="pingback" href="http://www.industrialist.net.ua/xmlrpc.php" /> </head> <body> <div id="container"> <div id="header"> <?php if (is_home ()){ ?> <h1 align="center"><?php bloginfo ('info'); ?></h1> <?php } else {?> <p align="center"><a href="<?php bloginfo ('url'); ?>"><?php bloginfo ('info'); ?></a></p> <?php } ?> <div id="search"> <?php include(TEMPLATEPATH . '/searchform.php'); ?> </div> </div> <div id="navbar"> <?php wp_page_menu('show_home=1'); ?> </div>
а код
<?php wp_head(); ?>
я перенес в футер, он выдает скрипты в html
Верните <?php wp_head(); ?>
в head блок! Нельзя его переносить в footer есть wp_footer();
. Зачем вы это сделали? Вы же сами в первой заметке дали код как перенести все скрипты из head в footer зачем еще wp_head();
переносить? Что-то вы мудрите, такими темпами вы только и будите что баги отлавливать, при каждом редактировании шаблона...
Борюсь за ускорение и избавляюсь от скриптов в хедере
вернул на место
<?php wp_head(); ?>
он выдает код в html
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.industrialist.net.ua/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://www.industrialist.net.ua/wp-includes/wlwmanifest.xml" /> <meta name="generator" content="WordPress 3.8.1" />
Это нормально ?
Нормально! Для ускорения и переноса скриптов в footer используйте плагин: Autoptimize
а код
<?php /** * Load Enqueued Scripts in the Footer * * Automatically move JavaScript code to page footer, speeding up page loading time. */ function footer_enqueue_scripts() { remove_action('wp_head', 'wp_print_scripts'); remove_action('wp_head', 'wp_print_head_scripts', 9); remove_action('wp_head', 'wp_enqueue_scripts', 1); add_action('wp_footer', 'wp_print_scripts', 5); add_action('wp_footer', 'wp_enqueue_scripts', 5); add_action('wp_footer', 'wp_print_head_scripts', 5);
можно удалить ?
При использовании плагина, можно. Потестируйте. Если с этим кодом все работает, то можно и оставить...
Я никак не борюсь, как в WordPress по умолчанию есть, так и стоит.
В каких случаях она вам помогала, можно узнать? Как вы её использовали?
C версии 2.3 WordPress сам выставляет тег canonical для страниц типа is_single(). Т.е. по идее для страниц комментариев дублирования не происходит. Чтобы удалить этот тег, нужно удалить этот фильтр:
Вот таким кодом можно заменить стандартную функцию rel_canonical():
Поправил, спасибо!