Я думаю, что первый пример (example.com/product/1234.product-category.product-name) является лучшим форматом, но я бы подумал изменить его тогда "." на «-». Я просто думаю, что если каким-то образом название продукта заканчивается чем-то, что вызывает другой обработчик на вашем сервере, например ".php" или ".jsp", у вас могут возникнуть нежелательные эффекты.
Куда должен идти идентификатор продукта в URL? Как с точки зрения читабельности пользователем, так и с точки зрения SEO
Я не думаю, что действительно важно, куда идет идентификатор продукта, но, насколько пользователь читает его, я думаю, что они обращают внимание на конец строки, поэтому я бы поставил идентификатор первым, оставив наиболее описательную часть (название продукта) в конце.
Должен ли я указать имя пользователя (как он / она сделал этот продукт)?
Не уверен, разрешите ли вы своим пользователям изменять имена пользователей, но если бы вы это сделали, я бы пропустил имя пользователя. Примером может служить тот, кто выходит замуж и меняет свою фамилию. Это повредит вашему SEO, так как URL изменится, но поисковые системы уже проиндексировали его по-старому. Вы должны были бы поместить некоторые постоянные перенаправления на место, чтобы справиться с этим, чего можно избежать, просто пропустив имя пользователя.
Стоит ли вообще пытаться удалить ID?
Вы должны оставить идентификатор в URL-адресе в случае, если два продукта имеют одинаковое имя, и ваш алгоритм создания URL-адреса создает дублирующую ссылку.