neue medienordnung plus
  last edited: Fri, 29 Sep 2017 02:42:22 -0400  
FYI: Use of one url for two or more languages with serverside delievery of appropriate language-sense pageversion worsened searchengine ranking. S. also "Make sure each language version is easily discoverable" - https://support.google.com/webmasters/answer/182192?hl=en

Keep the content for each language on separate URLs. Don’t use cookies to show translated versions of the page. Consider cross-linking each language version of a page. That way, a French user who lands on the German version of your page can get to the right language version with a single click.

Avoid automatic redirection based on the user’s perceived language. These redirections could prevent users (and search engines) from viewing all the versions of your site.

@Andrew Manning @Hubzilla Development+ @Hubzilla Support Forum+ #switch #browsersniffing #BrowserDetection #Browserweiche #sniffing #languagesensitive #serverside #seo #search #searchengine #sumo
Andrew Manning
 
dev.hubzilla.org is now at dev branch commit 31d9208.

Here's an example of what changed for the Page module:



diff --git a/Zotlabs/Module/Page.php b/Zotlabs/Module/Page.php
index 6ef285d..7bc90c0 100644
--- a/Zotlabs/Module/Page.php
+++ b/Zotlabs/Module/Page.php
@@ -43,11 +43,31 @@ class Page extends \Zotlabs\Web\Controller {
    
        $channel_address = argv(1);
    
+        // Always look first for the page name prefixed by the observer language; for instance page/nickname/de/foo
+        // followed by page/nickname/foo if that is not found.
+        // If your browser language is de and you want to access the default in this case,
+        // use page/nickname/-/foo to over-ride the language and access only the page with pagelink of 'foo'
+
+        $page_name = '';
+        $ignore_language = false;
+
+        for($x = 2; $x < argc(); $x ++) {
+            if($page_name === '' && argv($x) === '-') {
+                $ignore_language = true;
+                continue;
+            }
+            if($page_name)
+                $page_name .= '/';
+            $page_name .= argv($x);
+        }
+
+
        // The page link title was stored in a urlencoded format
        // php or the browser may/will have decoded it, so re-encode it for our search
    
-        $page_id = urlencode(argv(2));
-    
+        $page_id = urlencode($page_name);
+        $lang_page_id = urlencode(\App::$language . '/' . $page_name);
+
        $u = q("select channel_id from channel where channel_address = '%s' limit 1",
            dbesc($channel_address)
        );
@@ -64,16 +84,31 @@ class Page extends \Zotlabs\Web\Controller {
    
        require_once('include/security.php');
        $sql_options = item_permissions_sql($u[0]['channel_id']);
-    
-        $r = q("select item.* from item left join iconfig on item.id = iconfig.iid
-            where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and item.item_delayed = 0
-            and (( iconfig.k = 'WEBPAGE' and item_type = %d )
-            OR ( iconfig.k = 'PDL' AND item_type = %d )) $sql_options $revision limit 1",
-            intval($u[0]['channel_id']),
-            dbesc($page_id),
-            intval(ITEM_TYPE_WEBPAGE),
-            intval(ITEM_TYPE_PDL)
-        );
+
+        $r = null;    
+
+        if(! $ignore_language) {
+            $r = q("select item.* from item left join iconfig on item.id = iconfig.iid
+                where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and item.item_delayed = 0
+                and (( iconfig.k = 'WEBPAGE' and item_type = %d )
+                OR ( iconfig.k = 'PDL' AND item_type = %d )) $sql_options $revision limit 1",
+                intval($u[0]['channel_id']),
+                dbesc($lang_page_id),
+                intval(ITEM_TYPE_WEBPAGE),
+                intval(ITEM_TYPE_PDL)
+            );
+        }
+        if(! $r) {
+            $r = q("select item.* from item left join iconfig on item.id = iconfig.iid
+                where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and item.item_delayed = 0
+                and (( iconfig.k = 'WEBPAGE' and item_type = %d )
+                OR ( iconfig.k = 'PDL' AND item_type = %d )) $sql_options $revision limit 1",
+                intval($u[0]['channel_id']),
+                dbesc($page_id),
+                intval(ITEM_TYPE_WEBPAGE),
+                intval(ITEM_TYPE_PDL)
+            );
+        }
        if(! $r) {
    
            // Check again with no permissions clause to see if it is a permissions issue
neue medienordnung plus
  last edited: Fri, 26 May 2017 04:04:37 -0400  
@Mike Macgirvin
If you want to translate a webpage 'foo' into German you just create a page called 'de/foo' and translate the page.

I mean, for search friendly, SEO-optimized URL's is it inpossible for all languages same address foo to use. URL-value, keywords in URL's are important for pageranking - s. Therefore is it important, that URL contains keywords, suitably for respective language in each page.
neue medienordnung plus
  
I included the solution "Support for publishing of search engine friendly multilinguage content" in my speech/ presentation Hubzilla - introduction, possibilities, Hubzilla community - in three languages ;-) http://hub2.sprechrun.de/page/hucope/hubzilla_tools_page_en

neue medienordnung plus
  last edited: Fri, 27 Oct 2017 06:04:48 -0400  
Mike's definiton for observer-objekt it inspired me for the idea embodiment for observer-objekt as one agent, assistant, intermediary, broker ...
Mike's definiton for observer-objekt inspired me for the idea embodiment for observer-objekt as one agent, intermediary, broker between the Hubzilla Community, Hubzilla knowledge base, Hubzilla engine and other fellow human. Now that in Hubzilla can more and more events to analyse with switch or if instructions, can Hubzilla Community conjuring one visible smart wizard ...
  --> [  Read more ...]

Image/photo
What do you think about Heliza concept?

@Hubzilla Development+ @Hubzilla Support Forum+ @Deutschsprachige Nutzer+ @We Distribute+ @Zot universe NEWS+ #observer #observerobect #observerconcept #ObserverAgent #ObserverBroker #ObserverIntermediary #HelizaIntermediary #ELIZA #ChatRoboter #HelizaFAQ #HelizaAssisstant #HelizaBroker #HelizaAgent #heliza #helizaconcept #Hubzillawizard #smartwizard #knowledgeBase #switch #Huc #HubzillaCommunity #HelizaConsiderations #Artificialintelligence
Haakon Meland Eriksen (Parlementum)
  
We had a wall bot called Wall-E . I think he ran out of power, but perhaps @Mike Macgirvin knows what happened.
neue medienordnung plus
  
May be interesting for Wall-E/ Heliza-Projekt:


#susiai #loklak #orbiter