Incredible timing. We're moving our entire school platform, from website to registration, into OCI/Apex next week. SEO has been on my mind....... We have great ranking now so I was hoping to not screw that up! :)
Good luck with that. We had to add extensive redirects in NGINX (or Apache) to keep SEO in tact. With one web site we decided to write the site in Wordpress to circumvent any loss of SEO/ranking etc. Tough decision but in the end best outcome for client. Back Office app is APEX and lot of content of pages is managed by APEX app. Win some loose some.
For posterity, I created a REST module as the parsing schema with the following handler named robots.txt: DECLARE l_htp htp.htbuf_arr; BEGIN -- Set the HTTP header htp.p('Content-Type: text/plain; charset=utf-8'); htp.p(''); -- Write the robots.txt file contents l_htp(1) := UTL_RAW.CAST_TO_RAW('User-agent: *'); l_htp(2) := UTL_RAW.CAST_TO_RAW('Allow: /'); -- Output the file using HTP FOR i IN 1..v_htp.COUNT LOOP htp.prn(UTL_I18N.RAW_TO_CHAR(l_htp(i), 'UTF8')); htp.prn(CHR(10)); END LOOP; END; Support suggested creating a redirect on the load balancer to a static file, and the redirect worked great, but this solution lets it be dynamic. It's consistent with the dynamic solution for the sitemap from INSUM as well since I can query specific pages and not just Allow: / if I wanted. The results are now showing with the correct robots.txt and sitemap.