PHP – Логика для тега link rel=alternate

Как при помощи PHP добавить теги с ссылками для подобных страниц но на другом языке? Очень просто, давайте разбираться

Link rel alternate как добавить в head правильную ссылку

Рассмотрим на примере сайта, у которого есть 2 языка – русский и украинский. Для начала добавим теги в head:

<link rel="alternate" href="<? =$curLink_1 ?>" hreflang="ru">
<link rel="alternate" href="<? =$curLink_2 ?>" hreflang="uk">

Перед этим подключим наш файл с логикой:
<?include(‘inc/url.php’)?>

содержимое файла:

// LIST
$arAlternate = array(
'/projects/dveri/' => '/ua/projects/dvery/',
'/projects/okna/' => '/ua/projects/vikna/',
);

// LOGIC
$curLink_1 = 'https://site.ru'.str_replace('/ua/', '/', $_SERVER['REQUEST_URI']);
$curLink_2 = 'https://site.ru/ua'.str_replace('/ua/', '/', $_SERVER['REQUEST_URI']);

if (array_key_exists($_SERVER['REQUEST_URI'], $arAlternate)) {
$curLink_1 = 'https://site.ru'.str_replace('/ua/', '/', $_SERVER['REQUEST_URI']);
$curLink_2 = 'https://site.ru'.$arAlternate[$_SERVER['REQUEST_URI']];
} else {
$flipAr = array_flip($arAlternate);
if (array_key_exists($_SERVER['REQUEST_URI'], $flipAr)) {
$curLink_1 = 'https://site.ru'.$flipAr[$_SERVER['REQUEST_URI']];
$curLink_2 = 'https://site.ru'.$_SERVER['REQUEST_URI'];
}
}
// END LOGIC

При помощи данного кода можно вывести не только страницы у которых добавляется только папка /ua/, но и составить список неочевидных соответствий, например:
‘/projects/dveri/’ => ‘/ua/projects/dvery/

Надеюсь у вас всё получилось 🙂

Если на вашем сайте необходимо выполнить подобную доработку, обращайтесь ко мне за помощью

автор: Dmitriy

З 2011 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com

Email: dmitriyribka@gmail.com

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *