{"id":35214794,"url":"https://github.com/thisismyurl/thisismyurl-external-link-control","last_synced_at":"2026-05-24T01:02:28.701Z","repository":{"id":352986222,"uuid":"1217035417","full_name":"thisismyurl/thisismyurl-external-link-control","owner":"thisismyurl","description":"WordPress plugin for SEO-friendly external link management: add nofollow, target=blank, and open external links in new tabs.","archived":false,"fork":false,"pushed_at":"2026-05-02T21:56:23.000Z","size":47,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-02T23:32:44.943Z","etag":null,"topics":["accessibility","link-management","nofollow","outbound-links","seo","target-blank","wordpress","wordpress-plugin"],"latest_commit_sha":null,"homepage":"https://thisismyurl.com/external-link-control","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thisismyurl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-21T13:33:35.000Z","updated_at":"2026-05-02T21:56:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/thisismyurl/thisismyurl-external-link-control","commit_stats":null,"previous_names":["thisismyurl/thisismyurl-external-link-control"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thisismyurl/thisismyurl-external-link-control","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisismyurl%2Fthisismyurl-external-link-control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisismyurl%2Fthisismyurl-external-link-control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisismyurl%2Fthisismyurl-external-link-control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisismyurl%2Fthisismyurl-external-link-control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thisismyurl","download_url":"https://codeload.github.com/thisismyurl/thisismyurl-external-link-control/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisismyurl%2Fthisismyurl-external-link-control/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33417489,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"ssl_error","status_checked_at":"2026-05-23T22:14:43.778Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","link-management","nofollow","outbound-links","seo","target-blank","wordpress","wordpress-plugin"],"created_at":"2025-12-29T21:24:37.378Z","updated_at":"2026-05-24T01:02:28.681Z","avatar_url":"https://github.com/thisismyurl.png","language":"PHP","funding_links":["https://github.com/sponsors/thisismyurl"],"categories":[],"sub_categories":[],"readme":"# This Is My URL - External Link Control\n\n[![CI](https://github.com/thisismyurl/thisismyurl-external-link-control/actions/workflows/ci.yml/badge.svg)](https://github.com/thisismyurl/thisismyurl-external-link-control/actions/workflows/ci.yml) [![WordPress Tested](https://img.shields.io/badge/WordPress-6.6%2B-blue)](https://wordpress.org/) [![License](https://img.shields.io/badge/License-GPL--2.0-blue)](LICENSE)\n\n\nControl outbound link behavior across your WordPress site — adding `nofollow`, `noopener noreferrer`, and `target=\"_blank\"` at render time without touching stored content.\n\n## Features\n\n- Enable or disable external link filtering globally from one settings screen.\n- Open external links in a new tab with `target=\"_blank\"`.\n- Add `rel=\"nofollow noopener noreferrer\"` to external links automatically.\n- Leaves your database content untouched — all changes happen during output rendering.\n- Internal links are always left alone.\n\n## How It Works\n\nThe plugin hooks into `the_content` filter and rewrites only external `http` and `https` links during rendering. No post content is stored differently; your editorial data stays clean.\n\n## Requirements\n\n- WordPress 6.0+\n- PHP 7.4+\n\n## Installation\n\n1. Upload the plugin files to `/wp-content/plugins/thisismyurl-external-link-control/`.\n2. Activate through the WordPress Plugins screen.\n3. Go to **Tools \u003e Link Control**.\n4. Enable the options you want and save.\n\n## Frequently Asked Questions\n\n**Does this modify my post content in the database?**\nNo. All modifications happen at render time only. Your stored content is never rewritten.\n\n**Does it affect internal links?**\nNo. Only external `http` and `https` links are affected.\n\n**Is it compatible with page builders?**\nYes, as long as the page builder renders content through `the_content` filter.\n\n## Versioning\n\nThis plugin uses the format `1.Yddd`:\n- `Y` = last digit of the year\n- `ddd` = Julian day number\n\n## Standards\n\n- Direct access protection with ABSPATH checks.\n- Nonce and capability checks for admin actions.\n- Escaping and sanitization aligned with WordPress coding standards.\n\n---\n\n## Support and Contribute\n\n### Ways to Support\n\nI build these tools because WordPress sites in the wild keep hitting the same problems, and a focused plugin is usually the right fix. There's no tracking, no ads, and you don't need to pay to use these plugins.\n\nIf you find them helpful, here are some genuine ways to support the work:\n\n- **Sponsor if it fits your budget:** You can sponsor the project through [GitHub Sponsors](https://github.com/sponsors/thisismyurl). Sponsorship helps, but it's always optional.\n- **Contribute code or ideas:** Opening a pull request, reporting an issue, or testing edge cases is just as valuable as sponsorship. Helping me improve these plugins is a great way to contribute.\n- **Share your experience:** A follow on [WordPress.org](https://profiles.wordpress.org/thisismyurl/), [GitHub](https://github.com/thisismyurl), or [LinkedIn](https://linkedin.com/in/thisismyurl) helps others find this work.\n\n### Report Issues and Questions\n\nFound a bug? Want to suggest a feature? Just curious how something works?\n\n- **File an issue:** Use the [Issues](../../issues) tab. Include your WordPress and PHP version, and steps to reproduce.\n- **Start a discussion:** Use the [Discussions](../../discussions) tab for questions, ideas, or general conversation about the plugin.\n\n### Contributing Code\n\nCode contributions are welcome and genuinely valuable. Here's the workflow:\n\n1. **Fork this repository** and clone it locally.\n2. **Create a feature branch** with a clear name (e.g., `feature/improve-safety-check`).\n3. **Make your changes** and test thoroughly on edge cases.\n4. **Follow WordPress coding standards** — run `composer run lint:phpcs` before opening a PR.\n5. **Open a pull request** with a clear description of what changed and why.\n\nI review PRs thoughtfully and appreciate well-tested contributions. Contributing is never required, but it's genuinely helpful.\n\n---\n\n\n## About This Is My URL\n\nThis plugin supports the work I do at [This Is My URL](https://thisismyurl.com/wordpress-seo-services/), where I help WordPress teams build secure, performant, and maintainable sites.\n\nThis plugin is built and maintained by [This Is My URL](https://thisismyurl.com/), a WordPress development and technical SEO practice. I'm Christopher Ross, a WordPress developer and technical SEO specialist working on the open web since 1996 and on WordPress since 2007.\n\n### My Background\n\n- **On the open web since 1996, on WordPress since 2007** — three decades of shipping production systems\n- **WordPress contributor since 2007** — plugins published on .org, code shipped to media, education, and government deployments\n- **Technical SEO practitioner** helping sites improve performance, security, and search visibility\n- **Training specialist** at M.L. Campbell — building learning systems that ship, not slides that don't\n\nI believe in straightforward solutions that work. No hype. No unnecessary complexity.\n\n### Ways to Connect\n\n- **WordPress.org profile:** [profiles.wordpress.org/thisismyurl](https://profiles.wordpress.org/thisismyurl/)\n- **GitHub:** [github.com/thisismyurl](https://github.com/thisismyurl)\n- **Website:** [thisismyurl.com](https://thisismyurl.com/)\n- **LinkedIn:** [linkedin.com/in/thisismyurl](https://linkedin.com/in/thisismyurl)\n\n\n## Contributors\n\n- **Christopher Ross** ([@thisismyurl](https://github.com/thisismyurl)) — author and maintainer\n- **Contributors:** Thanks to everyone who's reported issues, tested edge cases, and contributed code\n\n## License\n\nGPL-2.0-or-later — see [LICENSE](LICENSE) or [gnu.org/licenses/gpl-2.0.html](https://www.gnu.org/licenses/gpl-2.0.html).\n\n\n---\n*This project follows the [10 Core Pillars](PILLARS.md). Support quality work [here](https://github.com/sponsors/thisismyurl).*\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthisismyurl%2Fthisismyurl-external-link-control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthisismyurl%2Fthisismyurl-external-link-control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthisismyurl%2Fthisismyurl-external-link-control/lists"}