OutputPage: Only set <link hreflang=x-default> on wiki/pages with variants
authorTimo Tijhof <krinklemail@gmail.com>
Tue, 7 Jul 2015 10:32:03 +0000 (11:32 +0100)
committerKrinkle <krinklemail@gmail.com>
Tue, 7 Jul 2015 10:32:46 +0000 (10:32 +0000)
Follows-up 91d8a51825.

Having the default variant advertised seems useful, however for
wikis and/or pages that have no variants or translated versions,
outputting this header doesn't seem useful.

https://support.google.com/webmasters/answer/189077 doesn't
justify sending it unconditionally.

To try out, setting $wgLanguageCode = 'zh'; will result in all
pages having hreflang=x-default and all variants. And setting to
'en' or 'de' will result in none of those link tags.

Change-Id: I21cd072534ae1df960209e657b19c96889ece27c

includes/OutputPage.php

index 0ed847e..30ee19c 100644 (file)
@@ -3440,12 +3440,12 @@ class OutputPage extends ContextSource {
                                                'href' => $this->getTitle()->getLocalURL( array( 'variant' => $_v ) ) )
                                        );
                                }
+                               # x-default link per https://support.google.com/webmasters/answer/189077?hl=en
+                               $tags["variant-x-default"] = Html::element( 'link', array(
+                                       'rel' => 'alternate',
+                                       'hreflang' => 'x-default',
+                                       'href' => $this->getTitle()->getLocalURL() ) );
                        }
-                       # x-default link per https://support.google.com/webmasters/answer/189077?hl=en
-                       $tags["variant-x-default"] = Html::element( 'link', array(
-                               'rel' => 'alternate',
-                               'hreflang' => 'x-default',
-                               'href' => $this->getTitle()->getLocalURL() ) );
                }
 
                # Copyright