簡體   English   中英

更正 HTML 中錯誤生成的 href 鏈接<head>和<body>來自 Joomla

[英]Correcting wrongly generated href link in the HTML <head> and <body> of Joomla

我在多語言網站上使用的 Joomla 3 模板之一在 HTML 標題和正文中生成錯誤的 href 標簽鏈接。 所有多語言頁面上的 href 都寫着:

in the HEAD
    link href="https://domain/page?layout=post" rel="alternate" hreflang="en-GB" />

in the BODY
    a href="/fr/page?layout=post">

並且應該是

link href="https://domain/page" rel="alternate" hreflang="en-GB" />
and
    a href="/fr/page">

我目前使用了 .htaccess 文件的臨時重寫; 然而,這產生了數百個 301 重定向,我確信這不是一個好的 SEO 解決方案。

因為找到原點並永久更正代碼需要一些時間,所以我需要一些 PHP 幫助來刪除字符串?layout=post並在 和 中顯示正確的 href 鏈接。

我的猜測是您需要轉到 Joomla 設置並啟用搜索引擎友好的 URL

只有在此之后你才應該修改.htaccess文件。

Joomla 設置更改示例

這應該可以解決您的問題,如果不是,那可能是您所說的模板問題,但是您必須在模板文件中查看它,這需要您花一些時間。

這是我正在使用的版本。 我在干凈的 php 上制作它。

    <?php
// your full url
$url = 'https://www.shop.com/en/category/tv-video-and-audio/';
//accepted languages or site version
$langs = array(
        'en',
        'cn',
        'ru'
    );
    //function to render full page link in all languages
function renderhrefurl($url = NULL, $lang = NULL){
    $exploded = explode('/', $url);
    $exploded[3] = $lang;
    return implode('/', $exploded);
}
//set hreflang attribute data
$hreflangs = array(
    array(
        'hreflang' => 'en',
        'hrefurl' => renderhrefurl($url, 'en')
        ),
    array(
        'hreflang' => 'cn',
        'hrefurl' => renderhrefurl($url, 'cn')
        )
        ,
    array(
        'hreflang' => 'ru',
        'hrefurl' => renderhrefurl($url, 'ru')
        )
    );
    //generate result
    foreach($hreflangs as $key => $item){
        echo '
        Key: '.$key.' - lang: '.$item['hreflang'].' = '.$item['hrefurl'];
    }
    echo '
    ------- Rendered Href Langs Tags ------- ';
    //generate completed hreflangs
        foreach($hreflangs as $key => $item){
        echo '
        <link rel="alternate" hreflang="'.$item['hreflang'].'" href="'.$item['hrefurl'].'" />';
    }
    
    ?>

復制此代碼並在線粘貼到php 編譯器以顯示它是如何工作的。 並使用strtok('Your link with get parameter', '?'); 刪除get參數!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM