С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 14/02/11 в 21:51 |
Вопросы?
Последний раз редактировалось: Yacc (06/06/12 в 11:09), всего редактировалось 9 раз(а)
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 14/02/11 в 21:57 |
Мета тэги
СЕ-оптимальные TITLE, DESCRIPTION и ROBOTS
Description обрезается на границе слова/предложения так, чтобы было не больше 200 символов.
Вставлять в начало секции <HEAD> в файле header.php
Код: [развернуть] | <?php
global $page, $paged;
$title = get_bloginfo( 'name' );
$desc = get_bloginfo( 'description' );
$robots = "noodp";
if (is_singular() ) {
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
$title = get_the_title();
if(!is_attachment()) {
$desc = preg_replace( '/<a.+a>/i', '', get_the_excerpt() );
}
else {
$desc = get_post_meta(get_the_id(), '_wp_attachment_image_alt', true);
}
}
}
}
elseif(is_category()) {
$title = single_cat_title("", false);
$desc = strip_tags( category_description() );
}
elseif(is_tag()) {
$title = single_tag_title("", false);
$desc = strip_tags( tag_description() );
}
elseif(is_date() || is_search()) {
$title = is_date() ? 'Archive' : wp_title("", false) ;
if ( have_posts() ) {
$desc = '';
while ( have_posts() ) {
the_post();
$desc .= get_the_title() . " ";
}
}
$robots = "noindex,nofollow";
}
elseif(is_404()) {
$title = 'Not found';
$desc = '';
$robots = "noindex,nofollow";
}
if ( $paged >= 2 || $page >= 2 ) {
$title .= ' | Page ' . max( $paged, $page );
}
if( strlen($desc) > 200 ) {
$desc = preg_replace('#(?<=[.!?])[^.!?]+$#i', '', substr($desc, 0, 200));
}
?>
<title><?php echo $title; ?></title>
<meta name="description" content="<?php echo $desc; ?>"/>
<meta name="robots" content="<?php echo $robots; ?>"/>
|
Удалить rsd_link, wlwmanifest_link, wp_generator.
Вставлять в конец файла functions.php
Код: [развернуть] | add_action('init',
create_function('',
'remove_action("wp_head", "rsd_link");
remove_action("wp_head", "wlwmanifest_link");
remove_action("wp_head", "wp_generator");'
)
); |
Пинайте.
Последний раз редактировалось: Yacc (02/03/11 в 11:48), всего редактировалось 5 раз(а)
|
|
|
|
завлекаю текстами
С нами с 30.04.09
Сообщения: 1610
Рейтинг: 1165
|
Добавлено: 14/02/11 в 23:47 |
что это было?
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 14/02/11 в 23:51 |
Где? Почему было?
Последний раз редактировалось: Yacc (05/10/13 в 16:20), всего редактировалось 3 раз(а)
|
|
|
|
С нами с 10.12.02
Сообщения: 573
Рейтинг: 232
|
Добавлено: 14/02/11 в 23:53 |
Yacc, если не сложно посмотри прошлый топик, мож кинешь код для вывода постов в категориях и тегах там чёт я запутался
|
|
|
|
завлекаю текстами
С нами с 30.04.09
Сообщения: 1610
Рейтинг: 1165
|
Добавлено: 15/02/11 в 00:07 |
а как поможешь человеку - черкни тут пару строк - к чему код, а то я пошарил предыдущие топики и не увидал к чему ты это. просто сеошный? правильно прописывает мета и дескрипшен?
|
|
|
|
С нами с 31.05.09
Сообщения: 149
Рейтинг: 239
|
Добавлено: 15/02/11 в 00:08 |
где редактируется вот этот титл в стандартных ссылках на категории в ВП?
title="View all posts in blablabla category"
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 15/02/11 в 00:09 |
Uz писал: | ... у меня в файлах category.php и tag.php вот эти функции get_template_part( 'loop', 'tag' ); ну и get_template_part( 'loop', 'category' );
нужно создавать отдельно loop-tag.php и loop-category.php ?
а туда какой код поставить чтобы отобразить эти блин посты по тегам и категориям ?
спасибо |
В общем виде:
Код: | <?php
if ( ! have_posts() ) {
get_template_part('loop', '404');
}
else {
while ( have_posts() ) {
the_post();
the_title();
the_content();
}
} |
Детали зависят от темы.
Последний раз редактировалось: Yacc (15/02/11 в 00:19), всего редактировалось 1 раз
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 15/02/11 в 00:16 |
alfy писал: | где редактируется вот этот титл в стандартных ссылках на категории в ВП?
title="View all posts in blablabla category" |
wp-includes/category-template.php
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 15/02/11 в 00:16 |
Crappyday писал: | правильно прописывает мета и дескрипшен? |
Правильно и красиво.
|
|
|
|
завлекаю текстами
С нами с 30.04.09
Сообщения: 1610
Рейтинг: 1165
|
Добавлено: 15/02/11 в 00:18 |
а, ептель, ну тогда безусловно полезная штука! )) забрал постестим, поковыряем
|
|
|
|
+ +
С нами с 12.02.03
Сообщения: 266
Рейтинг: 128
|
Добавлено: 15/02/11 в 05:13 |
а чем олинсео отличается? о чем ВЫ???
меньше запросов к базе? так все кэшируется.
титлы и дески. а кеи вы откуда возмете для каждого поста как не из мета-тегов?
КТО здесь?
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 15/02/11 в 10:00 |
pingwin писал: | КТО здесь? |
Тебе кого НАДО?
|
|
|
|
+ +
С нами с 12.02.03
Сообщения: 266
Рейтинг: 128
|
Добавлено: 15/02/11 в 10:13 |
хочу ВСЕХ посмотреть
|
|
|
|
С нами с 04.10.09
Сообщения: 686
Рейтинг: 638
|
Добавлено: 15/02/11 в 11:18 |
Yacc хороший пост, спасибо!
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 15/02/11 в 13:23 |
Похожие посты
Вставлять внутрь цикла в файле single.php
На основе первой категории поста.
Код: [развернуть] | <?php
$post_id = get_the_id();
$post_categories = wp_get_post_categories($post_id);
if ($post_categories) {
$cat_id = $post_categories[0];
$args=array(
'category__in' => array($cat_id),
'post__not_in' => array($post_id),
'showposts' => 5,
'caller_get_posts' => 1
);
$related_posts = new WP_Query($args);
if( $related_posts->have_posts() ) { ?>
<div class="related">
Posts related to <strong><?php echo get_cat_name($cat_id); ?></strong>
<ul> <?php
while ($related_posts->have_posts()) {
$related_posts->the_post(); ?>
<li>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
<?php the_title(); ?>
</a>
</li> <?php
}
wp_reset_query(); ?>
</ul>
</div> <?php
}
}
?> |
На основе первой метки поста.
Код: [развернуть] | <?php
$post_id = get_the_id();
$post_tags = wp_get_post_tags($post_id);
if ($post_tags) {
$args=array(
'tag__in' => array($post_tags[0]->term_id),
'post__not_in' => array($post_id),
'showposts' => 5,
'caller_get_posts' => 1
);
$related_posts = new WP_Query($args);
if( $related_posts->have_posts() ) { ?>
<div class="related">
Posts related to <strong><?php echo $post_tags[0]->name; ?></strong>
<ul> <?php
while ($related_posts->have_posts()) {
$related_posts->the_post(); ?>
<li>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
<?php the_title(); ?>
</a>
</li> <?php
}
wp_reset_query(); ?>
</ul>
</div> <?php
}
}
?> |
На основе ID постов, заданых через запятую в Custom Field с именем Related post ids.
Код: [развернуть] | <?php
$post_id = get_the_id();
$related_posts_ids = get_post_meta($post_id, 'Related post ids', true);
$ids = explode(',', $related_posts_ids);
if (count($ids) > 0) {
$args = array(
'post__in' => $ids,
'caller_get_posts' => 1
);
$related_posts = new WP_Query($args);
if( $related_posts->have_posts() ) { ?>
<div class="related">
Related posts
<ul> <?php
while ($related_posts->have_posts()) {
$related_posts->the_post(); ?>
<li>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
<?php the_title(); ?>
</a>
</li> <?php
}
wp_reset_query(); ?>
</ul>
</div> <?php
}
}
?> |
Пинайте.
Последний раз редактировалось: Yacc (17/02/11 в 19:21), всего редактировалось 4 раз(а)
|
|
|
|
Добрых Дел Мастер
С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227
|
Добавлено: 15/02/11 в 14:33 |
Оффтопик:
бро ты бы лучше блоги делал . как тут некоторые деломаны по 130 баксов за говна кусочек. Твои бы улетали по 200
|
|
пришел к победе коммунистического труда
|
8
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 15/02/11 в 14:51 |
FXIX писал: | Оффтопик:
бро ты бы лучше блоги делал . как тут некоторые деломаны по 130 баксов за говна кусочек. Твои бы улетали по 200
|
Делаю $50.
Вставайте в очередь.
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 15/02/11 в 14:53 |
Метки
Автоматическое создание меток из заголовка поста.
Вставлять в конец файла functions.php
Метки будут создаваться всякий раз после нажатия кнопки Publish/Update. Для меток берутся только слова - без цифр, знаков препинания и т.п., длинной от 3 до 10 символов. Кроме того фильтруются слова из массива $blacklist.
Код: [развернуть] | <?php
function stop_words_filter($tag) {
$blacklist = array( 'the', 'and', 'kids', 'lolita', 'etc' );
return !in_array( strtolower($tag), $blacklist );
}
function extract_tags($title) {
preg_match_all('/([A-Za-z]){3,10}(?=(\W|$))/', $title, $matches);
return $matches[0];
}
function create_tags($post_ID)
{
global $_POST;
if($_POST) {
$tags = array_map( 'ucfirst', array_values( array_filter( extract_tags( $_POST['post_title'] ), 'stop_words_filter' ) ) );
wp_set_object_terms( $post_ID, $tags, 'post_tag', true );
}
}
add_action('save_post', 'create_tags' );
?> |
Пинайте.
Последний раз редактировалось: Yacc (05/03/11 в 02:14), всего редактировалось 4 раз(а)
|
|
|
|
+ +
С нами с 12.02.03
Сообщения: 266
Рейтинг: 128
|
Добавлено: 15/02/11 в 15:37 |
Yacc писал: | Удалить rsd_link, wlwmanifest_link, wp_generator.
|
у меня так было. косячу? или все-таки от версии зависит?;)))
Код: [развернуть] | automatic_feed_links(false);
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
function remove_unnecessary_tags() {
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'rel_canonical' );
remove_action( 'wp_head', 'wp_shortlink_wp_head' );
remove_action( 'wp_head', 'parent_post_rel_link' );
remove_action( 'wp_head', 'start_post_rel_link' );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' );
}
add_action('get_header', 'remove_unnecessary_tags'); |
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 15/02/11 в 15:53 |
нет
А версия всегда одна - последняя.
|
|
|
|
+ +
С нами с 12.02.03
Сообщения: 266
Рейтинг: 128
|
Добавлено: 15/02/11 в 16:49 |
ок. может поделишься мыслями насчет плагинов кэширования?
вп-кэш одно время чудил для пользователей ИЕ (показывал кэшированные посты, даже при изменении содержания), hyper cache не так быстр и при 50к на блоге часто дает 404, есть еще плагин делающий php страницы в html - но он не для всех хостингов почему-то (права рута или light httpd все портит) , хотя хорош.
что есть хорощего и всеядного в плагинах на данный момент?
|
|
|
|
+ +
С нами с 12.02.03
Сообщения: 266
Рейтинг: 128
|
Добавлено: 15/02/11 в 17:19 |
поделюсь фенечкой:
часто в облаке тэгов посты с часто повторяющимися мета-тэгами по дефолту делаются с размером шрифта 22, что "ест" лишнее пространство на странице и уменьшает количество рекламы))
изменить шрифт максимума по дефолту в файле wp-includes/category-template.php - поиск в файле по "wp_tag_cloud" и менять "'largest' => 22" на 16 хотя бы;)
'number' => 45 - меняет количество выводимых тэгов (дефолт 45)
'order' => 'ASC' - сортировка. для ру-блогов с EN-RU тэгами касается в первую очередь: если сортировка тэгов идет не по алфавиту. сначала поставьте DESC, а потом ASC опять. тогда тэги ВСЕ сортануться по алфавиту. (хз с чем таксономия так связана..)
ну и обязаловкой чистить код в темплейтах для уменьшения количества обращений к базе;)
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 15/02/11 в 17:31 |
pingwin писал: | ок. может поделишься мыслями насчет плагинов кэширования? |
Поделюсь. Хочешь сделать хорошо - сделай сам.
|
|
|
|
+ +
С нами с 12.02.03
Сообщения: 266
Рейтинг: 128
|
Добавлено: 15/02/11 в 17:35 |
Yacc писал: | Поделюсь. Хочешь сделать хорошо - сделай сам. |
пиздец(( дельный совет. игнор за пафос и идиотизм.
|
|
|
|