Dịch các phím url khi chuyển đổi cửa hàng


8

Hy vọng ai đó có thể giúp tôi giải quyết vấn đề này.

Tình hình:

Tôi đã có 1 trang web bằng 5 ngôn ngữ (ví dụ example.com, example.com/it, v.v.)

Vấn đề:

Bây giờ tôi đã có example.com/about-us và example.com/it/about-us. Rõ ràng tôi muốn phiên bản tiếng Ý giống như: example.com/it/chi-siamo.

Tôi đã cố gắng dịch mã định danh và liên kết nó trong các danh mục sản phẩm để nói "chi-siamo". Vấn đề là nếu bạn cố gắng chuyển sang một ngôn ngữ khác, nó sẽ lấy định danh đó.

Ví dụ: Tôi hiện đang ở example.com/it/chi-siamo nhưng tôi muốn chuyển sang phiên bản tiếng Đức, đó phải là example.com/de/ueber-un. Nếu tôi chuyển từ tiếng Ý sang tiếng Đức bằng cách sử dụng chuyển đổi ngôn ngữ, tôi sẽ nhận được: example.com/de/chi-siamo. Cung cấp cho 404 .

Giải pháp để đi với là gì?

Câu trả lời:


4

Không có giải pháp. Magento không hỗ trợ điều đó.

Tôi đã viết một mô-đun để kiểm tra định danh và xem bản dịch trong cấu hình, sau đó nó thực hiện chuyển hướng.

Vì vậy, bạn có hai lựa chọn:

  1. chọn một ngôn ngữ và sử dụng nó cho mọi thứ - không dịch url
  2. thực hiện một số mô-đun mà những gì bạn muốn.

Thay vì mô tả cách tạo mô-đun này, hãy xem cái này: https://github.com/klein0r/magento-lingu-routes


2
Tâm chia sẻ mô-đun của bạn?
Simon

Xin lỗi, tôi không được phép, nếu tôi là tôi sẽ :)
Fabian Blechschmidt

@FabianBlechschmidt bạn có thể giải thích thêm. Tôi muốn phát triển mô-đun này. Bạn nhập các cửa hàng khác url trong các trang cms cho mỗi lần xem kho?
jrosell

1
đã thêm một liên kết đến một mô-đun sẽ giải quyết vấn đề, nếu nó không cho tôi biết, thì tôi sẽ mô tả sâu hơn về cách thực hiện điều này.
Fabian Blechschmidt

1
Cảm ơn. Tôi tìm thấy mô-đun này mà tôi nghĩ rằng tôi có thể thích nghi. github.com/tzyganu/CmsRewrites
jrosell

2

Tôi giả sử rằng năm ngôn ngữ của bạn mỗi ngôn ngữ có chế độ xem cửa hàng riêng. Nếu đó là trường hợp, bạn có thể thực hiện điều này bằng cách sử dụng Danh mục> Quản lý ghi lại URL cho các sản phẩm - mỗi sản phẩm store_id- và sau đó mở rộng Mage_Catalog_Model_Product_Url::getUrlđể tìm cách viết lại dành riêng cho cửa hàng và sử dụng request_paththay vì mặc định.


Có, tôi đang sử dụng các chế độ xem cửa hàng khác nhau. Vì tôi là một chút của Magento, tôi không chắc ý của bạn là gì. Bạn có phiền khi cho tôi một hướng dẫn từng bước :) Sẽ thật tuyệt vời.
el_machine

Tôi không thấy vấn đề này trong các trang sản phẩm nhưng trong các trang cms.
jrosell

1

Bạn không nên làm điều đó.

  1. nó thêm một lớp khác trong quá trình xử lý url. Cung cấp khả năng lỗi và tắc nghẽn hiệu suất.

  2. việc chuyển đổi ngôn ngữ trở nên khó khăn hơn rất nhiều, vì bạn không chỉ cần liên kết với một định danh ngôn ngữ khác, bạn cũng cần tìm nạp các URL chính xác cho mỗi ngôn ngữ (đối với trường hợp bạn có chuyển đổi ngôn ngữ trên trang web của mình)

  3. nó gần như không có lợi ích. Rất nhiều trình duyệt ngày nay thậm chí bắt đầu ẩn url đầy đủ, chỉ hiển thị tên miền hoặc thậm chí chỉ có mã định danh trên chứng chỉ ssl.


Tuy nhiên, đối với SEO nó vẫn còn quan trọng theo thông tin của tôi?
Melvyn

0

Nếu SEO là mối quan tâm chính của bạn, thì bạn chỉ cần sử dụng các thuộc tính rel = "thay thế" hreflang = "x" trong tiêu đề của mình để thông báo cho các công cụ tìm kiếm (Google) rằng trang đang xem là bản dịch chính xác của một trang khác.

Google không chỉ bắt đầu lập chỉ mục các trang dịch của bạn mà còn xóa bất kỳ hình phạt nội dung trùng lặp nào cho bất kỳ phần nào của trang không được dịch.

Phần đầu tiên là ngôn ngữ và phần thứ hai là quốc gia ("it-it" Ý-Ý hoặc "de-ch" Đức-Thụy Sĩ) nếu đó là cách bạn đang nhắm mục tiêu. Cũng luôn có một bộ mặc định.

Ví dụ để đưa vào đầu:

<link rel="alternate" href="example.com/about-us" hreflang="x-default" />
<link rel="alternate" href="example.com/about-us" hreflang="en-us" />
<link rel="alternate" href="example.com/it/about-us" hreflang="it-it" /> 
<link rel="alternate" href="example.com/de/about-us" hreflang="pt-pt" />

Điều này được giải thích khá tốt:

https://support.google.com/webmastersals/189077?hl=vi

https://moz.com/learn/seo/hreflang-tag

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.