Jump to content
Domenico Addotta

Problemi indicizzazione Google dopo obbligo di login per leggere i contenuti

Recommended Posts

Domenico Addotta

Buongiorno a tutti. Ho un serio problema di indicizzazione di Google. In pratica se obbligo gli utenti a loggarsi per leggere i contenuti del forum, google man mano che scansiona le pagine mi toglie le stesse dall'indice del motore, in quando le identifica come sempre la stessa pagina che chiede il login.

 

io ho la versione 3.4 del forum e ricordo che le precedenti versione riuscivano cmq a dare la possibilità a google di scandire le pagine anche se con login obbligatorio, consentendo loro di bypassare questa rischiesta...

 

Come fare per la versione 3.4? C'è qualche parametro, impostazione, plugin da installare.... ?

 

Ho dovuto togliere il login obbligatorio e dopo circa una settimana è tornato tutto come prima, google è tornato a indicizzare correttamente le pagine e a ripristinare le pagine tolte dall'indice.

 

Aiutatemi!!!

Share this post


Link to post
Share on other sites
Domenico Addotta

Google è presente nella pagina indicata, se attivo il login vede tutte le pagine così:

 

post-2596-0-76789700-1440520910_thumb.jp

 

e vedendole tutte uguali me li toglie dall'indice del motore stesso. Come fare per bypassare il problema?

 

Nelle vecchie versione era possibile far vedere a google il forum come un utente iscritto e quindi il problema non c'era, indicizzava normalmente tutto, e ciò si vedeva anche dalla sua cache.... una volta che le persone ci cliccavano tu veniva chiesto il login.... adesso con questa versione non più..... anche lui vede la pagina di login.....

Share this post


Link to post
Share on other sites
BomAle

purtroppo nel file \admin\sources\base\ipsRegistry.php linea 892

				//--------------------------------				//  Is log in enforced?				//--------------------------------				if ( ! ( defined( 'IPS_IS_SHELL' ) && IPS_IS_SHELL === TRUE ) && ( ( ! IPS_IS_MOBILE_APP ) && ( self::$handles['member']->getProperty('member_group_id') == ipsRegistry::$settings['guest_group'] ) and (ipsRegistry::$settings['force_login'] == 1) && !in_array( ipsRegistry::$request['section'], array( 'register', 'privacy', 'unsubscribe' ) ) ) )				{					if( ipsRegistry::$settings['logins_over_https'] AND ( !$_SERVER['HTTPS'] OR $_SERVER['HTTPS'] != 'on' ) )					{						//-----------------------------------------						// Set referrer						//-----------------------------------------												if ( !my_getenv('HTTP_REFERER') OR stripos( my_getenv('HTTP_REFERER'), ipsRegistry::$settings['board_url'] ) === false )						{							$http_referrer = ( strtolower($_SERVER['HTTPS']) == 'on' ? "https://" : "http://" ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];						}						else						{							$http_referrer = my_getenv('HTTP_REFERER');						}									self::instance()->getClass('output')->silentRedirect( str_replace( 'http://', 'https://', ipsRegistry::$settings['base_url'] ) . 'app=core&module=global&section=login&referer=' . urlencode($http_referrer) );					}										ipsRegistry::$request['app']		= 'core';					ipsRegistry::$request['module'] 	= 'login';					ipsRegistry::$request['core']   	= 'login';					ipsRegistry::$request['referer']	= ipsRegistry::$request['referer'] ? ipsRegistry::$request['referer'] : ( strtolower($_SERVER['HTTPS']) == 'on' ? "https://" : "http://" ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];					if( is_file( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/' . ipsRegistry::getClass('output')->skin['_csscacheid'] . '/ipb_login_register.css' ) )					{						ipsRegistry::getClass('output')->addToDocumentHead( 'importcss', ipsRegistry::$settings['css_base_url'] . 'style_css/' . ipsRegistry::getClass('output')->skin['_csscacheid'] . '/ipb_login_register.css' );					}										$classToLoad = IPSLib::loadActionOverloader( IPSLib::getAppDir( 'core' ) . "/modules_public/global/login.php", 'public_core_global_login' );					$runme       = new $classToLoad( self::instance() );					$runme->doExecute( self::instance() );					exit;				}			}

non vengono esclusi gli user agent,

basterebbe mettere tra le condizioni

ipsRegistry::member()->is_not_human !== TRUE

ma questo andrebbe evitato :(

Share this post


Link to post
Share on other sites
BomAle

per la modifica...

cerca:

				if ( ! ( defined( 'IPS_IS_SHELL' ) && IPS_IS_SHELL === TRUE ) && ( ( ! IPS_IS_MOBILE_APP ) && ( self::$handles['member']->getProperty('member_group_id') == ipsRegistry::$settings['guest_group'] ) and (ipsRegistry::$settings['force_login'] == 1) && !in_array( ipsRegistry::$request['section'], array( 'register', 'privacy', 'unsubscribe' ) ) ) )

e sostituisci con:

				if ( ! ( defined( 'IPS_IS_SHELL' ) && IPS_IS_SHELL === TRUE ) && ( ( ! IPS_IS_MOBILE_APP ) && ( self::$handles['member']->getProperty('member_group_id') == ipsRegistry::$settings['guest_group'] ) and (ipsRegistry::$settings['force_login'] == 1) && ipsRegistry::member()->is_not_human !== TRUE && !in_array( ipsRegistry::$request['section'], array( 'register', 'privacy', 'unsubscribe' ) ) ) )

se forzi il login è per tutti, se ai crawler/googlebot... lasci l'autorizzazione a scansionare le pagine e non vorresti in alcun modo fornire una copia cache delle pagine dovresti impostare un meta tag noarchive come segue:

0dt1Ih7.png

questo sempre per "forzare" l'iscrizione senza lasciare pagine cache accessibili ai visitatori...

Share this post


Link to post
Share on other sites
Domenico Addotta

Grazie di tutto, procedo con una nuova donazione ;)

 

p.s. ho un altro problema, apro la discussione apposita ;)

Share this post


Link to post
Share on other sites
BomAle

per essere più corretto cambiate:

if ( ! ( defined( 'IPS_IS_SHELL' ) && IPS_IS_SHELL === TRUE ) && ( ( ! IPS_IS_MOBILE_APP ) && ( self::$handles['member']->getProperty('member_group_id') == ipsRegistry::$settings['guest_group'] ) and (ipsRegistry::$settings['force_login'] == 1) && !in_array( ipsRegistry::$request['section'], array( 'register', 'privacy', 'unsubscribe' ) ) ) )
in

if ( ! ( defined( 'IPS_IS_SHELL' ) && IPS_IS_SHELL === TRUE ) && ( ( ! IPS_IS_MOBILE_APP ) && ( self::$handles['member']->getProperty('member_group_id') == ipsRegistry::$settings['guest_group'] ) and (ipsRegistry::$settings['force_login'] == 1) && (self::$handles['member']->getProperty('is_not_human') !== TRUE) && !in_array( ipsRegistry::$request['section'], array( 'register', 'privacy', 'unsubscribe' ) ) ) )

Share this post


Link to post
Share on other sites
Domenico Addotta

ora la newsletter normale funziona, ci si può disiscrivere anche senza essere connessi... il problema ora è che io ho anche [HSC] Newsletter installato, che genera link come questo per disiscriversi:

 

http://www.canonclubitalia.com/public/forum/index.php?app=newsletter&unsubscribe=51f95a69f7490b687eb529209046493b&member=110150&newsletter=1

 

questo link funziona solo se si è connessi, vi è un modo di consentire la corretta esecuzione di questa funzione?

 

 

da connesso:

 

post-2596-0-82666800-1450188104_thumb.jp

 

da sconnesso:

 

post-2596-0-89951000-1450188135_thumb.jp

 

Share this post


Link to post
Share on other sites
Domenico Addotta

risolto, in pratica nello stesso file c'è il seguente codice:

/* Other public check */			if ( IPB_THIS_SCRIPT == 'public' and				IPS_ENFORCE_ACCESS				   === FALSE AND (							ipsRegistry::$request['section']   != 'login'  and				ipsRegistry::$request['section']   != 'lostpass'  and				IPS_IS_AJAX === FALSE and				ipsRegistry::$request['section']   != 'rss' and				ipsRegistry::$request['section']   != 'attach' and				ipsRegistry::$request['module']    != 'task'   and				ipsRegistry::$request['section']   != 'captcha' ) )			{

che ho modificato come segue:

/* Other public check */			if ( IPB_THIS_SCRIPT == 'public' and				IPS_ENFORCE_ACCESS				   === FALSE AND (				ipsRegistry::$request['app'] != 'newsletter' and				ipsRegistry::$request['module'] != 'unsubscribe' and								ipsRegistry::$request['section']   != 'login'  and				ipsRegistry::$request['section']   != 'lostpass'  and				IPS_IS_AJAX === FALSE and				ipsRegistry::$request['section']   != 'rss' and				ipsRegistry::$request['section']   != 'attach' and				ipsRegistry::$request['module']    != 'task'   and				ipsRegistry::$request['section']   != 'captcha' ) )			{

e ora mi fa disiscrivere anche da sloggato ;)

Share this post


Link to post
Share on other sites
SardiniaNET Staff

si, io ho la 3.48 ;)

 

Devo modificare il file \admin\sources\base\ipsRegistry.php e caricarlo via FTP, giusto?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.