Я использую дружественные URL-адреса в приложении VB.NET
, и я делился URL-адресами в социальных сетях, и предварительный просмотр изображения работал нормально. Ссылка может быть разделена следующим образом:
example.com/news/123
или
example.com/news/123/hello-this-is-an-article
Чтобы не использовать две версии URL для одной и той же статьи, я создал 301 redirect
для Pre_load
, чтобы перенаправить первую ссылку на вторую соответствующую ссылку. Таким образом, я проверяю, чтобы каждый посещенный URL в конце содержал заголовок статьи.
Сразу после того, как я применил эту логику, URL-адреса без заголовка статьи в конце (первый URL-адрес) больше не показывают предварительный просмотр изображения в социальных сетях. Валидатор карты Twitter и Отладчик открытого графика Facebook сообщает, что произошло перенаправление 301 и метатеги не найдены.
Ниже приведен код, который работает на странице Pre_Load
:
'Comparing URL title with the actual Article title
If strURLTitle <> strArticleTitle Then
'URL article title either changed or does not exist
Response.Status = "301 Moved Permanently"
Response.AddHeader("Location", "example.com/news/{ID-in-the-URL}/article-title")
End If
Вот пример HTML-кода, который я использовал:
<meta name='author' content='test' />
<meta name='keywords' content='test,test,test' />
<meta name='description' content='test test test' />
<meta itemprop='name' content='test' />
<meta itemprop='description' content='test' />
<meta itemprop='image' content='https://example.com/img.jpg' />
<meta property='og:title' content='test' />
<meta property='og:description' content='test test test' />
<meta property='og:image' content='https://example.com/img.jpg'' />
<meta property='og:image:secure_url' content='https://example.com/img.jpg'' />
<meta property='og:image:width' content='780' />
<meta property='og:image:height' content='439' />
<meta property='og:site_name' content='test' />
<meta property='og:url' content='https://example.com/news/3710/here-is-the-title' />
<meta property='og:type' content='article' />
<meta property='og:locale' content='ar_AR' />
<meta name='twitter:card' content='summary' />
<meta name='twitter:site' content='https://example.com' />
<meta name='twitter:title' content='test' />
<meta name='twitter:description' content='test test test' />
<meta name='twitter:image' content='https://example.com/img.jpg' />
<base href='https://example.com' />
Проблема:
Проверка ссылки (без заголовка статьи) в Twitter Card Validator приводит к следующему журналу:
ИНФОРМАЦИЯ: Страница получена успешно
ВНИМАНИЕ: Метатеги не найдены
ВНИМАНИЕ: эта карта перенаправлена на
Новости / 123 / привет-это-это-ан-статья
Проверка ссылки (без заголовка статьи) в отладчике Facebook приводит к следующему журналу:
Код ответа 400
Полученный URL example.com/news/123
Canonical
URL
example.com/news/123/hello-this-is-an-article
Перенаправление
Путь
Входной URL example.com/news/123 301 HTTP
Redirect example.com/news/123/hello-this-is-an-article
Можно ли как-нибудь разрешить отладчикам открытого графика избежать перенаправления 301 или отобразить правильные результаты, даже если я поделился ссылкой без заголовка в конце?