Página 1 de 1

Sitemap Multi-lojas Varios Idiomas.

Enviado: 31 Jul 2017, 10:30
por tomporoskipy
Ola, Alguém por favor teria alguma ideia como gerar sitemap por idioma, tendo em vista que opencart por padrão somente gera no idioma principal da loja. Obrigado
OC 2.0.3.2

Re: Sitemap Multi-lojas Varios Idiomas

Enviado: 31 Jul 2017, 15:58
por reds

Re: Sitemap Multi-lojas Varios Idiomas

Enviado: 01 Ago 2017, 05:44
por valdeir2000
Você também pode fazer da seguinte maneira.

Abra o arquivo .htaccess e adicione a linha abaixo.
Código: Selecionar todos
RewriteRule ^([A-Za-z-]+)/sitemap.xml$ index.php?route=extension/feed/google_sitemap&language=$1 [L]
'
'
'
Seu código deve ficar mais ou menos assim
Código: Selecionar todos
RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
# Modification - Start
RewriteRule ^([A-Za-z-]+)/sitemap.xml$ index.php?route=extension/feed/google_sitemap&language=$1 [L]
# Modification - End
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
'
'
'
Abra o arquivo https://github.com/opencart/opencart/bl ... ap.php#L10 e na linha 10 (aproximadamente), adicione o código abaixo.
Código: Selecionar todos
if (isset($this->request->get["language"])) {
     $languages = $this->model_localisation_language->getLanguages();
     $language  = addslashes(strip_tags($this->request->get["language"]));
                
     if (isset($languages[$language])) {
          $this->config->set('config_language_id', $languages[$language]["language_id"]);
     }
}
'
'
'
Basta acessar:
https://www.YOUR-STORE.com/en/sitemap.xml
https://www.YOUR-STORE.com/pt-br/sitemap.xml
https://www.YOUR-STORE.com/CODE-LANGUAGE/sitemap.xml

Ps.: Pode ser que o código tenha uma variação a depender da versão da sua loja.
Ps².: Só vai funcionar com servidores apache2
Ps³.: Caso você utilize Nginx, IIS, etc. Entre em contato com sua hospedagem e veja como prosseguir com o passo 1

Re: Sitemap Multi-lojas Varios Idiomas

Enviado: 16 Ago 2017, 16:21
por tomporoskipy
:P Funcionou Perfeitamente. Muito Obrigado

Re: Sitemap Multi-lojas Varios Idiomas

Enviado: 16 Ago 2017, 16:22
por tomporoskipy
:P Funcionou Perfeitamente. Muito Obrigado
valdeir2000 escreveu: 01 Ago 2017, 05:44 Você também pode fazer da seguinte maneira.

Abra o arquivo .htaccess e adicione a linha abaixo.
Código: Selecionar todos
RewriteRule ^([A-Za-z-]+)/sitemap.xml$ index.php?route=extension/feed/google_sitemap&language=$1 [L]
'
'
'
Seu código deve ficar mais ou menos assim
Código: Selecionar todos
RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
# Modification - Start
RewriteRule ^([A-Za-z-]+)/sitemap.xml$ index.php?route=extension/feed/google_sitemap&language=$1 [L]
# Modification - End
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
'
'
'
Abra o arquivo https://github.com/opencart/opencart/bl ... ap.php#L10 e na linha 10 (aproximadamente), adicione o código abaixo.
Código: Selecionar todos
if (isset($this->request->get["language"])) {
     $languages = $this->model_localisation_language->getLanguages();
     $language  = addslashes(strip_tags($this->request->get["language"]));
                
     if (isset($languages[$language])) {
          $this->config->set('config_language_id', $languages[$language]["language_id"]);
     }
}
'
'
'
Basta acessar:
https://www.YOUR-STORE.com/en/sitemap.xml
https://www.YOUR-STORE.com/pt-br/sitemap.xml
https://www.YOUR-STORE.com/CODE-LANGUAGE/sitemap.xml

Ps.: Pode ser que o código tenha uma variação a depender da versão da sua loja.
Ps².: Só vai funcionar com servidores apache2
Ps³.: Caso você utilize Nginx, IIS, etc. Entre em contato com sua hospedagem e veja como prosseguir com o passo 1

Re: Sitemap Multi-lojas Varios Idiomas

Enviado: 16 Ago 2017, 21:55
por valdeir2000
Abra o arquivo https://github.com/opencart/opencart/bl ... ap.php#L10 e adicione o código abaixo.
Código: Selecionar todos
if (isset($this->request->get["store_id"])) {
    $this->config->set("store_id", (int)$this->request->get["store_id"]);
}
As urls ficarão:
https://www.YOUR-STORE.com/en/sitemap.xml?store_id=1
https://www.YOUR-STORE.com/pt-br/sitemap.xml?store_id=2
https://www.YOUR-STORE.com/CODE-LANGUAG ... store_id=3

Re: Sitemap Multi-lojas Varios Idiomas

Enviado: 17 Ago 2017, 18:44
por tomporoskipy
Olá, fiz o procedimento mas ainda aparece nome do "produto" em ingles que é o idioma principal, não estou usando subdominios e sim pastas/diretorios para multilojas. link abaixo. Obrigado

site:storelatina.com/brasil/vender-no-exterior
valdeir2000 escreveu: 16 Ago 2017, 21:55 Abra o arquivo https://github.com/opencart/opencart/bl ... ap.php#L10 e adicione o código abaixo.
Código: Selecionar todos
if (isset($this->request->get["store_id"])) {
    $this->config->set("store_id", (int)$this->request->get["store_id"]);
}
As urls ficarão:
https://www.YOUR-STORE.com/en/sitemap.xml?store_id=1
https://www.YOUR-STORE.com/pt-br/sitemap.xml?store_id=2
https://www.YOUR-STORE.com/CODE-LANGUAG ... store_id=3

Re: Sitemap Multi-lojas Varios Idiomas.

Enviado: 17 Ago 2017, 20:41
por valdeir2000
Vamos por parte. Como o tópico principal é sobre sitemap, vamos primeiro por ele.

Testei aqui e funcionou (os sitesmaps):
http://storelatina.com/en/sitemap.xml?store_id=1
http://storelatina.com/pt-br/sitemap.xml?store_id=1
http://storelatina.com/es-es/sitemap.xml?store_id=1

Re: Sitemap Multi-lojas Varios Idiomas.

Enviado: 18 Ago 2017, 08:59
por tomporoskipy
Desculpe, mas o sitemap sempre funcionou, problema que nas multilojas quando consultado no google site: o titulo do produto nao aparece no idioma que as sublojas foram configuradas.
ex:
http://storelatina.com/portugal/sitemap.xml Portugues
http://storelatina.com/argentina/sitemap.xml Espanhol
http://storelatina.com/argentina/sitemap.xml Espanhol
http://storelatina.com/usa/sitemap.xml Ingles
etc...sao 52 paises 3 idomas
ex: abaixo onde aparece em ingles onde deveria ser portugues.

International Sales - Marketplace Store Latina
storelatina.com/brasil/vendas-internacionais
International Sales Store Latina Present in the Americas, Europe and Africa, totaling more than 60 countries.

Obrigado pela atenção

Re: Sitemap Multi-lojas Varios Idiomas.

Enviado: 19 Ago 2017, 11:16
por tomporoskipy
se volocar a url abaixo no google vera que esta em inglês o que deveria esta em espanhol.

site:storelatina.com/argentina/
valdeir2000 escreveu: 17 Ago 2017, 20:41 Vamos por parte. Como o tópico principal é sobre sitemap, vamos primeiro por ele.

Testei aqui e funcionou (os sitesmaps):
http://storelatina.com/en/sitemap.xml?store_id=1
http://storelatina.com/pt-br/sitemap.xml?store_id=1
http://storelatina.com/es-es/sitemap.xml?store_id=1