Помощник
|
Keywordы для постов на WP |
MusTank
|
Сообщение
#1
|
||
|
|
||
|
|||
serkaz |
14.7.2012, 21:05;
Ответить: serkaz
Сообщение
#2
|
|
Я правильно понял, что если запись "Вася Пупкин", то ей надо добавить meta keywords "Вася Пупкин обзор"?
-------------------- |
|
|
MusTank
|
Сообщение
#3
|
|
|
|
|
kronos |
14.7.2012, 21:09;
Ответить: kronos
Сообщение
#4
|
|
Думаю проще будет сделать экспорт таблицы, и пошаманить с excel или notepad++ (через csv)
-------------------- |
|
|
serkaz |
14.7.2012, 22:44;
Ответить: serkaz
Сообщение
#5
|
|
А SEO плагин какой стоит?
Создаёте файл, например, vasyapupkin.php. Пишете в нём: <? include('wp-blog-header.php'); $keywords = "здесь через запятую ваши ключевики"; $keywords = explode(",",$keywords); $posts = get_posts('&numberposts=-1'); foreach($posts as $post){ setup_postdata($post); $title = get_the_title(); $current_keywords = get_post_meta($post->ID,"keywords",true); $keys = array(); foreach($keywords as $key){ $keys[] = $title.' '.$key; } $keys = implode(",",$keys); if(!empty($current_keywords)){ update_post_meta($post->ID, 'keywords', $current_keywords.', '.$keys); } else { add_post_meta($post->ID, 'keywords', $keys); } unset($keys); } wp_reset_postdata(); ?> Кладёте в корень сайта. Запускаете - адрессайта.ру/vasyapupkin.php Что делает данная штука? Для абсолютно всех постов, проверяется есть ли уже keywords у поста, если есть, то к текущим ключевикам, добавляет нужные ключевики, если у поста кейвордс не заполнены, то просто добавляет их. В данном случае скрипт проставляет кейвордсы для всех записей при желании это можно сделать, только для постов из определённых рубрик. Работу скрипта не гарантирую, в боевых условиях не проверял, если будете использовать - сделайте дамп БД. Сообщение отредактировал serkaz - 14.7.2012, 22:49 -------------------- |
|
|
MusTank
|
Сообщение
#6
|
|
Думаю проще будет сделать экспорт таблицы, и пошаманить с excel или notepad++ (через csv) БД слишком грязное, т.к. используется масса дополнений, а кейворды указаны в рядах плагина "All in One SEO Pack" по нумерациям постов, без титлов и чпу. Сутками чистить и разгребать придётся А SEO плагин какой стоит? Создаёте файл, например, vasyapupkin.php. Пишете в нём: <? include('wp-blog-header.php'); $keywords = "здесь через запятую ваши ключевики"; $keywords = explode(",",$keywords); $posts = get_posts('&numberposts=-1'); foreach($posts as $post){ setup_postdata($post); $title = get_the_title(); $current_keywords = get_post_meta($post->ID,"keywords",true); $keys = array(); foreach($keywords as $key){ $keys[] = $title.' '.$key; } $keys = implode(",",$keys); if(!empty($current_keywords)){ update_post_meta($post->ID, 'keywords', $current_keywords.', '.$keys); } else { add_post_meta($post->ID, 'keywords', $keys); } unset($keys); } wp_reset_postdata(); ?> Кладёте в корень сайта. Запускаете - адрессайта.ру/vasyapupkin.php Что делает данная штука? Для абсолютно всех постов, проверяется есть ли уже keywords у поста, если есть, то к текущим ключевикам, добавляет нужные ключевики, если у поста кейвордс не заполнены, то просто добавляет их. В данном случае скрипт проставляет кейвордсы для всех записей при желании это можно сделать, только для постов из определённых рубрик. Работу скрипта не гарантирую, в боевых условиях не проверял, если будете использовать - сделайте дамп БД. Сейчас стоит "All in One SEO Pack". Спасибо, но он, к сожалению, почему-то возвращает только внутреннюю ошибку сервера. |
|
|
serkaz |
15.7.2012, 12:37;
Ответить: serkaz
Сообщение
#7
|
|
<? include('wp-blog-header.php'); $keywords = "обзор, отзыв"; $keywords = explode(", ",$keywords); $posts = get_posts('&numberposts=-1&post_status=publish,draft'); foreach($posts as $post){ setup_postdata($post); $title = get_the_title(); $current_keywords = get_post_meta($post->ID,"_aioseop_keywords",true); $keys = array(); foreach($keywords as $key){ $keys[] = $title.' '.$key; } $keys = implode(", ",$keys); if(!empty($current_keywords)){ update_post_meta($post->ID, '_aioseop_keywords', $current_keywords.', '.$keys); } else { add_post_meta($post->ID, '_aioseop_keywords', ''.$keys.'', true); } unset($keys); } wp_reset_postdata(); ?> Обновил код для All in one SEO pack. Проверил - работает. Если будет выдавать ошибку, то это скорее всего из-за большого количества записей. Сколько у вас записей? Проверьте кодировку файл. Файл должен быть в кодировке utf-8 без ВОМ. Сообщение отредактировал serkaz - 15.7.2012, 12:25
Прикрепленные файлы
-------------------- |
|
|
MusTank
|
Сообщение
#8
|
|
<? include('wp-blog-header.php'); $keywords = "обзор, отзыв"; $keywords = explode(", ",$keywords); $posts = get_posts('&numberposts=-1&post_status=publish,draft'); foreach($posts as $post){ setup_postdata($post); $title = get_the_title(); $current_keywords = get_post_meta($post->ID,"_aioseop_keywords",true); $keys = array(); foreach($keywords as $key){ $keys[] = $title.' '.$key; } $keys = implode(", ",$keys); if(!empty($current_keywords)){ update_post_meta($post->ID, '_aioseop_keywords', $current_keywords.', '.$keys); } else { add_post_meta($post->ID, '_aioseop_keywords', ''.$keys.'', true); } unset($keys); } wp_reset_postdata(); ?> Обновил код для All in one SEO pack. Проверил - работает. Если будет выдавать ошибку, то это скорее всего из-за большого количества записей. Сколько у вас записей? Проверьте кодировку файл. Файл должен быть в кодировке utf-8 без ВОМ. Большое спасибо! Обрабатывает 3к постов за 2-3 секунды. Работает именно так, как нужно, но в некоторые записи, в которых уже были такие ключи, дописывает их ещё раз. |
|
|
serkaz |
15.7.2012, 14:02;
Ответить: serkaz
Сообщение
#9
|
|
но в некоторые записи, в которых уже были такие ключи, дописывает их ещё раз. нужно дописывать условия, если нужно, можно допилить. <? include('wp-blog-header.php'); $posts = get_posts('&numberposts=-1&post_status=publish,draft'); foreach($posts as $post){ setup_postdata($post); $current_keywords = get_post_meta($post->ID,"_aioseop_keywords",true); if(!empty($current_keywords)){ $current_keywords = str_replace(", ",",",$current_keywords); $current_keywords = explode(",",$current_keywords); $current_keywords = array_unique($current_keywords); $current_keywords = implode(", ",$current_keywords); update_post_meta($post->ID, '_aioseop_keywords', $current_keywords); } unset($current_keywords); } wp_reset_postdata(); ?> Вот код. Удалит повторяющиеся keywords. Новый файл создайте и запустите. Сообщение отредактировал serkaz - 15.7.2012, 14:03 -------------------- |
|
|
MusTank
|
Сообщение
#10
|
|
|
нужно дописывать условия, если нужно, можно допилить. <? include('wp-blog-header.php'); $posts = get_posts('&numberposts=-1&post_status=publish,draft'); foreach($posts as $post){ setup_postdata($post); $current_keywords = get_post_meta($post->ID,"_aioseop_keywords",true); if(!empty($current_keywords)){ $current_keywords = str_replace(", ",",",$current_keywords); $current_keywords = explode(",",$current_keywords); $current_keywords = array_unique($current_keywords); $current_keywords = implode(", ",$current_keywords); update_post_meta($post->ID, '_aioseop_keywords', $current_keywords); } unset($current_keywords); } wp_reset_postdata(); ?> Вот код. Удалит повторяющиеся keywords. Новый файл создайте и запустите. Ещё раз спасибо, всё сработало идеально
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
SiteAnalyzer - бесплатная программа для аудита и анализа сайта | 79 | Chaser | 74319 | Сегодня, 1:02 автор: Chaser |
|
Посоветуйте массажер для спины и шеи | 11 | Boymaster | 934 | Вчера, 18:24 автор: Arsenwenger |
|
⭕Антидетект браузер AdsPower для эффективной работы с мультиаккаунтами! | 84 | AdsPower | 24599 | Вчера, 16:35 автор: AdsPower |
|
Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат | 55 | arendator | 35109 | Вчера, 2:12 автор: arendator |
|
Rebex.io – Ваша инновационная платформа для обмена криптовалюты! | 3 | Rebex | 975 | 24.4.2024, 20:50 автор: Rebex |
Текстовая версия | Сейчас: 26.4.2024, 2:31 |