OSDN Git Service

Remove media selector, use media query
[pukiwiki/pukiwiki.git] / lib / html.php
index e915a7a..6b2fc6c 100644 (file)
@@ -48,6 +48,12 @@ function catbody($title, $page, $body)
        $_page  = isset($vars['page']) ? $vars['page'] : '';
        $r_page = pagename_urlencode($_page);
 
+       // Canonical URL
+       $canonical_url = $script;
+       if ($_page !== $defaultpage) {
+               $canonical_url = $script . '?' . $r_page;
+       }
+
        // Set $_LINK for skin
        $_LINK['add']      = "$script?cmd=add&page=$r_page";
        $_LINK['backup']   = "$script?cmd=backup&page=$r_page";
@@ -61,7 +67,7 @@ function catbody($title, $page, $body)
        $_LINK['new']      = "$script?plugin=newpage&refer=$r_page";
        $_LINK['rdf']      = "$script?cmd=rss&ver=1.0";
        $_LINK['recent']   = "$script?" . pagename_urlencode($whatsnew);
-       $_LINK['reload']   = "$script?$r_page";
+       $_LINK['reload']   = $canonical_url;
        $_LINK['rename']   = "$script?plugin=rename&refer=$r_page";
        $_LINK['rss']      = "$script?cmd=rss";
        $_LINK['rss10']    = "$script?cmd=rss&ver=1.0"; // Same as 'rdf'
@@ -70,6 +76,7 @@ function catbody($title, $page, $body)
        $_LINK['top']      = "$script?" . pagename_urlencode($defaultpage);
        $_LINK['unfreeze'] = "$script?cmd=unfreeze&page=$r_page";
        $_LINK['upload']   = "$script?plugin=attach&pcmd=upload&page=$r_page";
+       $login_link = "#LOGIN_ERROR"; // dummy link that is not used
        switch ($auth_type) {
                case AUTH_TYPE_FORM:
                        $login_link = "$script?plugin=loginform&pcmd=login&page=$r_page";
@@ -139,6 +146,11 @@ function catbody($title, $page, $body)
                }
        }
 
+       // Send Canonical URL for Search Engine Optimization
+       if ($is_read && !headers_sent()) {
+               header("Link: <$canonical_url>; rel=\"canonical\"");
+       }
+
        // Search words
        if ($search_word_color && isset($vars['word'])) {
                $body = '<div class="small">' . $_msg_word . htmlsc($vars['word']) .