2016-08-20 7 views
2

(у меня нет достаточной репутации размещать со ссылкой, так что все HTTP: // будет HTTP: /)после изменения моего WordPress постоянной ссылки, мой facebook как подсчеты ошибется

Я изменил мой WordPress постоянную ссылку от HTTP:/SITEURL/р = число к HTTP:/SITEURL/номер/бруски

добавить код в заголовок, чтобы сказать facebook старый почтовый адрес и новый почтовый адрес, как показано ниже

<?php if (is_single() || is_page()) { 
 
     $urlidcheck = get_the_id(); 
 
      if($urlidcheck <= 85){ 
 
?> 
 
       <meta property="og:url" content="http:/siteurl/?p=<?php the_ID(); ?>" /> 
 
      <link rel="canonical" href="http:/siteurl/?p=<?php the_ID(); ?>" > 
 
     <?php } else { ?> 
 
       <meta property="og:url" content="<?php get_bloginfo('url'); ?>" /> 
 
     <?php } 
 
     } 
 
?>

После того, как я использую инструмент отладки для удаления царапин, он работает хорошо, но временно.

После соскабливания, URL-адрес получателя, канонический URL-адрес и URL-адрес og: все верно, как показано ниже.

извлечённому URL HTTP:/SITEURL/47/турфирма-сеул выполняющихся

Canonical URL HTTP:/SITEURL/р = 47

мета свойство = OG: содержание URL = HTTP:/SITEURL /? р = 47

но показывает предупреждения, как показано ниже

[круговой Перенаправление путь] Обнаружен круговой путь перенаправления (подробнее см. Раздел «Путь перенаправления»).

[Несоответствие og: url и canonical url] og: тег url в заголовке не совпадает с URL rel = 'canonical' в html.

[Parser Mismatched Metadata] Результат анализатора для этих метаданных не соответствует входным метаданным. Вероятно, это было вызвано непредвиденным заказом данных, при этом несколько значений указываются для свойства, ожидающего только одно значение, или значения свойств для данного свойства несовместимы. Вот входные свойства, которые не были видны в анализируемом результате: 'og: locale: locale'

Спустя несколько дней значения fb, как и числа, начнут неожиданно исчезать. Я использую инструмент «Отладочный обмен» для проверки, это показывает, что URL-адрес Canonical пошел не так, но og: url по-прежнему прав.

извлечённому URL HTTP:/SITEURL/47/турфирма-сеул выполняющихся

Canonical URL HTTP:/SITEURL/47/турфирма-сеул выполняющихся

мета свойство = OG: содержание URL = HTTP:/SITEURL/р = 47

также предупреждения выскочит, как показано ниже

[Может не следует Redirect Path ] Использование данных из http:/siteurl /? P = 47, потому что после пути перенаправления произошла ошибка.

[Круговой путь переадресации] Обнаружен круговой путь перенаправления (подробнее см. Раздел «Путь перенаправления»).

[Не удалось выполнить перенаправление] URL-адрес запрашивал перенаправление HTTP, но его не удалось выполнить.

Так что я должен каждый раз печатать каждое сообщение каждые несколько дней, что очень утомительно.

Любой может дать мне подсказку и инструкцию о том, как решить проблему? Большое вам спасибо. И спасибо за ваше время в любом случае.

+0

Вам нужно будет сохранить старые URL-адреса для скребка FB, чтобы он не перенаправлялся на новый, а они должны доставлять соответствующие метаданные OG. https://developers.facebook.com/docs/plugins/faqs#faq_1149655968420144 – CBroe

ответ

0

Вы как будто делаете это назад. И канонический, и og: url должны указывать на текущую версию URL-адреса, или вы получите ошибки. Когда они не совпадают с той страницей, на которой они находятся, они идут и получают ссылку, на которую ссылаются теги.

Итак, вы, по сути, говорите Facebook, чтобы получить старую версию ссылки. Как только они идут, чтобы получить эту версию, сервер отправляет 301 переадресацию обратно в новую версию ссылки. Новый ссылается на старый, и он создает бесконечный цикл или перенаправляет назад и вперед для своего скребка.

К сожалению, с большинством социальных сетей, в том числе Facebook, как только вы измените настройки постоянной ссылки, вы просто потеряете свои доли, потому что Facebook теперь рассматривает его как совершенно новую ссылку.

Единственный способ обойти это - создать свои собственные кнопки совместного доступа и использовать API Facebook для запроса количества акций. При запросе этих счетчиков через API вам нужно будет отправить два запроса, по одному для каждой версии ссылки, а затем добавить их вместе, прежде чем отображать их.

0

Благодарим вас за ответы, Николас и CBroe. Вы позволили мне заметить, что проблема должна быть вызвана каноническими и перенаправленными URL-адресами.

Я вернулся, чтобы проверить html-код в браузере, и обнаружил, что в теле есть еще один канонический URL-адрес, который только улавливает постоянную ссылку в «http:/siteurl/number/slug», и я не знаю, какой файл wordpress это из.

Кроме того, я думаю, что Когда я пошел на http:/siteurl /? P = 47, меня привели к http:/siteurl/47/travel-seoul-running. Это просто потому, что wordpress угадывает ближайший адрес сам по себе. Это не перенаправление.

Итак, что я делаю, я устанавливаю два плагина «Канонический Seo Wordpress Plugin» и «Перенаправление». (Я знаю, что плагины - не очень хороший метод, но это мгновенный способ увидеть, как проблемы решены.)

«Канонический плагин Word Word» помогает мне удалить существующий канонический url, который я не хочу , И я могу настроить канонический url, который я хочу для каждого сообщения на странице редактирования сообщений. (Но мне также потребовалось много времени для всех моих сообщений.)

Я также установил 301 переадресацию для каждого старого сообщения, которое использовало http:/siteurl /? P = number, по адресу http:/siteurl/number/slug с плагином «Перенаправление».

Я изменил код в заголовке немного, чтобы

<?php if (is_single() || is_page()) { 
 
     $urlidcheck = get_the_id(); 
 
      if($urlidcheck <= 85){ 
 
?> 
 
       <meta property="og:url" content="http:/siteurl/?p=<?php the_ID(); ?>" /> 
 
     <?php } else { ?> 
 
       <meta property="og:url" content="<?php the_permalink() ?>" /> 
 
     <?php } 
 
     } 
 
?>

место я поставил FB как коробки

<div class="fb-like" data-href="<?php the_permalink() ?>" data-layout="button_count" data-action="like" data-size="small" data-show-faces="false" data-share="true"></div>

Iиспользуйте инструмент «Отладочный обмен», чтобы проверить как http:/siteurl/47/travel-seoul-running, так и http:/siteurl /? p = 47. Они все работают хорошо, получают право, как и у меня, и пока показывают точно такой же результат в обеих областях.

Два типа постоянных ссылок хорошо подобраны, а также правильные URL-адреса Canonical. Я могу просто использовать the_permalink(), чтобы поймать ссылку на FB и получить правильный результат.

У меня все еще есть одно предупреждение, которое является [Circular Redirect Path]. Но похоже, что до сих пор все так хорошо. Поэтому я оставлю его на одну неделю, буду смотреть и посмотреть, как это работает.

Я вернусь с дальнейшим результатом. Еще раз спасибо.