PHPackages                             extendy/smartyurl - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. extendy/smartyurl

ActiveProject[Utility &amp; Helpers](/categories/utility)

extendy/smartyurl
=================

SmartyURL

1.0.0(2y ago)15602[13 issues](https://github.com/Extendy/SmartyURL/issues)MITCSSPHP ^8.1CI passing

Since Mar 3Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/Extendy/SmartyURL)[ Packagist](https://packagist.org/packages/extendy/smartyurl)[ RSS](/packages/extendy-smartyurl/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (15)Versions (3)Used By (0)

SmartyURL
=========

[](#smartyurl)

SmartyURL, a powerful &amp; open-source URL management tool, empowers businesses and individuals they need self-hosted tool to customize, track, shorten URLs, and manage their URLs for marketing, analytics, and reporting.

You can utilize SmartyURL to generate redirect links to the final URL, considering various variables like the visitor's geographical location or user device information.

[![image](https://private-user-images.githubusercontent.com/162535/293026850-2d08c064-89e6-4d87-9bbc-067e3168c0ea.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5MDc4NzEsIm5iZiI6MTc3MzkwNzU3MSwicGF0aCI6Ii8xNjI1MzUvMjkzMDI2ODUwLTJkMDhjMDY0LTg5ZTYtNGQ4Ny05YmJjLTA2N2UzMTY4YzBlYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwMzE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDMxOVQwODA2MTFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03ZGZlY2U1NTBjMmFlNDY4MzFhODc4MjFiZmM1MDY2ZjY3NDEwNGM5MDEyOWVmODVlNWNiMGMzZThhMzk3NjdhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.FK-2pTPzLVpZXqenuCQyyIb_bs-rRhyQ4B2ia0PABQs)](https://private-user-images.githubusercontent.com/162535/293026850-2d08c064-89e6-4d87-9bbc-067e3168c0ea.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5MDc4NzEsIm5iZiI6MTc3MzkwNzU3MSwicGF0aCI6Ii8xNjI1MzUvMjkzMDI2ODUwLTJkMDhjMDY0LTg5ZTYtNGQ4Ny05YmJjLTA2N2UzMTY4YzBlYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwMzE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDMxOVQwODA2MTFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03ZGZlY2U1NTBjMmFlNDY4MzFhODc4MjFiZmM1MDY2ZjY3NDEwNGM5MDEyOWVmODVlNWNiMGMzZThhMzk3NjdhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.FK-2pTPzLVpZXqenuCQyyIb_bs-rRhyQ4B2ia0PABQs)

For instance, you can create a unified link for mobile app downloads, dynamically adjusting the destination URL based on the user's device, whether it runs on Android or iOS. This ensures users are directed to the appropriate download link from the official store, tailored to their operating system.

Likewise, you can also generate intelligent links to route visitors to specific URLs based on their location. For instance, users from the United States will be redirected to one link, while those from Saudi Arabia will be directed to another

In addition to shortening URLs (based on domain that you use), SmartyURL also offers a variety of other features, such as:

- **Space-saving and improved readability**
- **Smart URL redirects.**
- **Tracking and analytics**
- **Customization**

Installation
------------

[](#installation)

Currently, as SmartyURL is in its early stages, you can only install it using Composer. In future releases, we may support other installation methods.

See [Developers Guide](http://extendy.github.io/SmartyURL/developers) for more information about how to install SmartyURL.

Certainly, please refer to the [documentation](http://extendy.github.io/SmartyURL) for detailed instructions How configure, and effectively use SmartyURL for comprehensive guidance.

Documentation
-------------

[](#documentation)

Please take a look to SmartyURL [documentation](http://extendy.github.io/SmartyURL) for detailed installation, configuration, and usage instructions.

**Visitors IP Country detection**

SmartyURL uses the `ip2location/ip2location-php` library to determine visitors country based on their IP addresses. It includes the free "IP2Location™ LITE IP-COUNTRY Database" for both personal and commercial use. For enhanced geographical redirect conditions with more accurate and up-to-date IP-based country data or if you need more accuracy consider purchasing a licensed IP2Location database. Refer to [IP2Location Database Docs](http://extendy.github.io/SmartyURL/ip2location/) for more details.

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE](http://extendy.github.io/SmartyURL/license) file for details.

Acknowledgments
---------------

[](#acknowledgments)

Every open-source project depends on its contributors to be a success. Thanks to:

[![](https://camo.githubusercontent.com/60948425cb9634638f81d34ecb5b149771560f2a1ea32279f44b11fd6b32ce91/68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d657874656e64792f736d6172747975726c)](https://github.com/extendy/smartyurl/graphs/contributors)Also We would like to acknowledge the following resources and contributors for their valuable assistance and support in the development of this project:

[![PhpStorm logo.](https://camo.githubusercontent.com/efa2d53d028e32015f1fee276f780f1a3d1b69d114f5bd033d997b87e575dd88/68747470733a2f2f64317a3676387733313771326c662e636c6f756466726f6e742e6e65742f6d6973632f63646e312f696d672f6d6173736172636c6f75645f6c6f676f5f72656374616e676c655f3333367831303670782e706e67)](https://camo.githubusercontent.com/efa2d53d028e32015f1fee276f780f1a3d1b69d114f5bd033d997b87e575dd88/68747470733a2f2f64317a3676387733313771326c662e636c6f756466726f6e742e6e65742f6d6973632f63646e312f696d672f6d6173736172636c6f75645f6c6f676f5f72656374616e676c655f3333367831303670782e706e67)[MassarCloud Company](https://massarcloud.sa): We would like to express our gratitude to [MassarCloud LLC](https://massarcloud.sa) for their valuable support in providing hosting services during the development of this project.[![PhpStorm logo.](https://camo.githubusercontent.com/86faa42800b56e6cebe3f92cfd6356e89beda5037aeac0e3f01ba81118cdc900/68747470733a2f2f7265736f75726365732e6a6574627261696e732e636f6d2f73746f726167652f70726f64756374732f636f6d70616e792f6272616e642f6c6f676f732f50687053746f726d5f69636f6e2e737667)](https://camo.githubusercontent.com/86faa42800b56e6cebe3f92cfd6356e89beda5037aeac0e3f01ba81118cdc900/68747470733a2f2f7265736f75726365732e6a6574627261696e732e636f6d2f73746f726167652f70726f64756374732f636f6d70616e792f6272616e642f6c6f676f732f50687053746f726d5f69636f6e2e737667)[JetBrains s.r.o](https://jb.gg/OpenSourceSupport) We would like to express our gratitude to JetBrains s.r.o for their valuable support in providing Open Source development license.SmartyURL Legal Notice
----------------------

[](#smartyurl-legal-notice)

For more information, please refer to the [Legal Notice](http://extendy.github.io/SmartyURL/legalnotice).

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

804d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/747bf7e308c4caced2b881881dd7956214b8a1f83f37f661e0737e1efaca4e9b?d=identicon)[mshannaq](/maintainers/mshannaq)

---

Top Contributors

[![mshannaq](https://avatars.githubusercontent.com/u/162535?v=4)](https://github.com/mshannaq "mshannaq (537 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (7 commits)")[![datamweb](https://avatars.githubusercontent.com/u/9530214?v=4)](https://github.com/datamweb "datamweb (1 commits)")

---

Tags

extendyphpphp8projectself-hostedurl-shortenerurlshortener

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/extendy-smartyurl/health.svg)

```
[![Health](https://phpackages.com/badges/extendy-smartyurl/health.svg)](https://phpackages.com/packages/extendy-smartyurl)
```

###  Alternatives

[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[j0k3r/php-readability

Automatic article extraction from HTML

186808.8k6](/packages/j0k3r-php-readability)[spomky-labs/pwa-bundle

Progressive Web App Manifest Generator Bundle for Symfony.

6144.4k1](/packages/spomky-labs-pwa-bundle)[abydahana/aksara

Aksara is a CodeIgniter based CRUD Toolkit you can use to build complex applications become shorter, secure and more reliable just in a few lines of code. Serving both CMS or Framework, produce both HEADLESS (RESTful API) or TRADITIONAL (Browser Based), just by writing single controller. Yet it's reusable, scalable and ready to use!

1101.2k](/packages/abydahana-aksara)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
