]> git.mxchange.org Git - friendica.git/commitdiff
Issue 7610: Set the appropriate meta header to not being crawled
authorMichael <heluecht@pirati.ca>
Tue, 10 Sep 2019 17:15:29 +0000 (17:15 +0000)
committerMichael <heluecht@pirati.ca>
Tue, 10 Sep 2019 17:15:29 +0000 (17:15 +0000)
mod/display.php
src/Module/Profile.php

index ee1fd91d7d12b521ae13e554b6ecc1ad0b2b956d..6b5edd987c2b2d7e0e4f3f61c3fe71b28ad96774 100644 (file)
@@ -332,7 +332,7 @@ function display_content(App $a, $update = false, $update_uid = 0)
        }
 
        $condition = ["`id` = ? AND `item`.`uid` IN (0, ?) " . $sql_extra, $item_id, $item_uid];
-       $fields = ['parent-uri', 'body', 'title', 'author-name', 'author-avatar', 'plink'];
+       $fields = ['parent-uri', 'body', 'title', 'author-name', 'author-avatar', 'plink', 'author-id', 'owner-id', 'contact-id'];
        $item = Item::selectFirstForUser(local_user(), $fields, $condition);
 
        if (!DBA::isResult($item)) {
@@ -372,7 +372,10 @@ function display_content(App $a, $update = false, $update_uid = 0)
        $title = htmlspecialchars($title, ENT_COMPAT, 'UTF-8', true); // allow double encoding here
        $author_name = htmlspecialchars($author_name, ENT_COMPAT, 'UTF-8', true); // allow double encoding here
 
-       //<meta name="keywords" content="">
+       if (DBA::exists('contact', ['unsearchable' => true, 'id' => [$item['contact-id'], $item['author-id'], $item['owner-id']]])) {
+               $a->page['htmlhead'] .= '<meta content="noindex, noarchive" name="robots" />' . "\n";
+       }
+
        $a->page['htmlhead'] .= '<meta name="author" content="'.$author_name.'" />'."\n";
        $a->page['htmlhead'] .= '<meta name="title" content="'.$title.'" />'."\n";
        $a->page['htmlhead'] .= '<meta name="fulltitle" content="'.$title.'" />'."\n";
index 8e5bedd847ae367252973e0375f449858048d572..9387276d0bf7e650b10c03d013179b11fd95d0f8 100644 (file)
@@ -83,11 +83,13 @@ class Profile extends BaseModule
                if (!$update) {
                        ProfileModel::load($a, self::$which, self::$profile);
 
+                       $a->page['htmlhead'] .= "\n";
+
                        $blocked   = !local_user() && !remote_user() && Config::get('system', 'block_public');
                        $userblock = !local_user() && !remote_user() && $a->profile['hidewall'];
 
                        if (!empty($a->profile['page-flags']) && $a->profile['page-flags'] == User::PAGE_FLAGS_COMMUNITY) {
-                               $a->page['htmlhead'] .= '<meta name="friendica.community" content="true" />';
+                               $a->page['htmlhead'] .= '<meta name="friendica.community" content="true" />' . "\n";
                        }
 
                        if (!empty($a->profile['openidserver'])) {
@@ -108,6 +110,11 @@ class Profile extends BaseModule
                        }
 
                        $a->page['htmlhead'] .= '<meta name="dfrn-global-visibility" content="' . ($a->profile['net-publish'] ? 'true' : 'false') . '" />' . "\n";
+
+                       if (!$a->profile['net-publish'] || $a->profile['hidewall']) {
+                               $a->page['htmlhead'] .= '<meta content="noindex, noarchive" name="robots" />' . "\n";
+                       }
+
                        $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/dfrn_poll/' . self::$which . '" title="DFRN: ' . L10n::t('%s\'s timeline', $a->profile['username']) . '"/>' . "\n";
                        $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/feed/' . self::$which . '/" title="' . L10n::t('%s\'s posts', $a->profile['username']) . '"/>' . "\n";
                        $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/feed/' . self::$which . '/comments" title="' . L10n::t('%s\'s comments', $a->profile['username']) . '"/>' . "\n";