GeoDirectory
Create location-based directories with GeoDirectory and BuddyX Pro. Build business listings, location directories, review sites, and maps-based platforms with beautiful, responsive layouts.
What You Can Do
With BuddyX Pro’s GeoDirectory integration, you can:
- Create Location Directories – List businesses, places, properties, events
- Interactive Maps – Google Maps integration with marker clustering
- Advanced Search – Location-based search with radius filtering
- User Reviews & Ratings – Star ratings and detailed reviews
- Claim Listings – Let users claim and manage their listings
- Front-End Submission – Members submit listings from site frontend
- Multiple Listing Types – Restaurants, hotels, services, events, etc.
- BuddyPress Integration – Listings on member profiles
Prerequisites
Before setting up GeoDirectory:
| Requirement | Version | Notes |
|---|---|---|
| WordPress | 6.0+ | Latest stable version recommended |
| BuddyX Pro Theme | Active | Must be activated |
| GeoDirectory | 2.0+ | Free version available |
| PHP | 7.4+ | Required by the plugin |
| MySQL | 5.6+ | For location data storage |
Recommended Add-ons:
- GeoDirectory Advanced Search – Enhanced filtering and search
- GeoDirectory Custom Post Types – Multiple listing types
- GeoDirectory BuddyPress Integration – Profile integration
- GeoDirectory Reviews – Advanced review system
- GeoDirectory Claim Listings – User claim management
Installation & Setup
Step 1: Install GeoDirectory
- Log in to your WordPress dashboard
- Go to Plugins → Add New
- Search for “GeoDirectory”
- Click Install Now next to GeoDirectory by AyeCode
- Click Activate after installation completes
Step 2: Run Setup Wizard
GeoDirectory launches setup wizard after activation:
Page 1: Welcome
- Click Let’s Go! to start
Page 2: Install Sample Data
- Choose: Install sample data (recommended for testing)
- Or: Start fresh
- Click Continue
Page 3: Create Pages Setup wizard creates essential pages:
| Page | Purpose |
|---|---|
| Places | Main directory listing page |
| Add Listing | Frontend submission form |
| Search | Advanced search page |
| Location | Location archive pages |
Click Continue to create pages.
Page 4: Google Maps API
- Add Google Maps API key (optional now, required later)
- Or skip and add later
- Click Continue
Page 5: Ready!
- Setup complete
- Click View Sample Listings or Add a Listing
Step 3: Configure Basic Settings
Go to GeoDirectory → Settings
General Tab:
| Setting | Recommendation | Why |
|---|---|---|
| Default Country | Your country | Sets default for new listings |
| Default City | Your city/region | Default location |
| Search Distance | 50 miles/km | Default search radius |
| Date Format | Site default | Consistency with WordPress |
Map Tab:
| Setting | Value | |
|---|---|---|
| Google Maps API Key | Your API key | Required for maps |
| Map View | Roadmap | Default map style |
| Map Zoom | 12 | Default zoom level |
| Enable Marker Clustering | Yes | Better performance with many listings |
Get Google Maps API Key:
- Visit Google Cloud Console
- Create project
- Enable Maps JavaScript API
- Create API key
- Add restrictions (optional)
- Copy key to GeoDirectory settings
BuddyX Pro Integration Features
BuddyX Pro automatically detects GeoDirectory and adds custom styling.
Automatic Styling
BuddyX Pro includes dedicated GeoDirectory stylesheet:
Location: assets/css/geodirectory.min.css
Styled Elements:
- Listing cards and grids
- Search forms and filters
- Map displays and info windows
- Detail pages and tabs
- Review sections
- Claim listing buttons
- Category badges
Theme Integration:
- Colors match BuddyX Pro color scheme
- Typography inherits theme fonts
- Spacing consistent with theme
- Responsive on all devices
- Dark mode compatible
Layout Options
Configure sidebars for GeoDirectory pages:
Available Layouts:
| Page Type | Sidebar Options |
|---|---|
| Listing Archive | Default, Right, Left, Both, None |
| Single Listing | Default, Right, Left, Both, None |
| Search Page | Default, Right, Left, Both, None |
| Add Listing Page | Usually None (full width form) |
Set Layouts:
- Go to Appearance → Customize → Sidebar
- Scroll to GeoDirectory sections
- Choose layout for each page type
- Click Publish
Recommended:
- Archive: Right sidebar (for filters)
- Single listing: Right sidebar (for info widgets)
- Search: Right sidebar (for advanced filters)
- Add listing: No sidebar (full width)
Responsive Design
BuddyX Pro optimizes GeoDirectory for all devices:
Mobile Features:
- Collapsible filters
- Touch-friendly maps
- Swipeable image galleries
- Mobile-optimized forms
- Sticky search bar
Tablet Features:
- 2-column listing grids
- Sidebar toggle buttons
- Adjusted map heights
Desktop Features:
- 3-4 column grids
- Full sidebar display
- Larger map areas
- Hover effects
Creating Listing Types
Listing types categorize your directory content.
Default Listing Type: Places
GeoDirectory creates default “Places” listing type:
Included Fields:
- Business name
- Description
- Address and location
- Contact info (phone, email, website)
- Business hours
- Category
- Tags
- Images
Creating Custom Listing Types
Requires GeoDirectory Custom Post Types add-on.
Example: Restaurant Directory
- Go to GeoDirectory → Settings → Post Types
- Click Add New Post Type
- Configure:
| Setting | Value |
|---|---|
| Name | Restaurants |
| Singular Name | Restaurant |
| Slug | restaurants |
| Menu Position | 26 |
| Has Archive | Yes |
- Click Save Post Type
Add Custom Fields:
- Go to GeoDirectory → Design → Tabs
- Select Restaurants post type
- Add fields:
Common Listing Types:
| Type | Use Case | Key Fields |
|---|---|---|
| Restaurants | Food directory | Cuisine, price range, delivery |
| Hotels | Accommodation | Star rating, amenities, booking |
| Real Estate | Property listings | Price, bedrooms, square footage |
| Events | Event calendar | Date, time, tickets, venue |
| Services | Service providers | Service type, availability, pricing |
| Doctors | Medical directory | Specialty, insurance, hours |
Creating Your First Listing
Step 1: Add New Listing
Two methods:
Admin Method:
- Go to Places → Add New (or your listing type)
- WordPress admin editor opens
Frontend Method:
- Visit your “Add Listing” page
- Frontend submission form displays
- Members submit without admin access
Step 2: Fill Basic Information
Required Fields:
| Field | Example |
|---|---|
| Listing Title | The Italian Kitchen |
| Description | Full description with details |
| Category | Select from categories |
| Address | 123 Main Street |
| City | San Francisco |
| State/Region | California |
| Zip/Postal Code | 94102 |
| Country | United States |
Optional Fields:
| Field | Purpose |
|---|---|
| Phone | Contact number |
| Contact email | |
| Website | Business URL |
| Tags | Additional keywords |
| Facebook/Twitter | Social profiles |
Step 3: Add Location
Map Interface:
- Enter address in location field
- Map displays automatically
- Drag marker to adjust exact location
- Or enter coordinates manually
Location Tips:
- Precise location improves search results
- Marker shows on map view
- Address displays on listing
- Used for radius searches
Step 4: Set Business Hours
In Business Hours section:
Configure Schedule:
| Day | Open | Close | Status |
|---|---|---|---|
| Monday | 11:00 AM | 10:00 PM | Open |
| Tuesday | 11:00 AM | 10:00 PM | Open |
| Wednesday | 11:00 AM | 10:00 PM | Open |
| Thursday | 11:00 AM | 10:00 PM | Open |
| Friday | 11:00 AM | 11:00 PM | Open |
| Saturday | 10:00 AM | 11:00 PM | Open |
| Sunday | 10:00 AM | 9:00 PM | Open |
Or: Check “Open 24/7” for always-open businesses.
Step 5: Upload Images
Featured Image:
- Set featured image in sidebar
- Recommended: 1200×800px
- Appears in search results and listing cards
Image Gallery:
- Scroll to Gallery Images field
- Click Add Images
- Upload multiple photos
- Drag to reorder
- Displays as slider on listing page
Image Best Practices:
- Use high-quality images (1920×1080px)
- Show interior and exterior
- Include products/services
- Compress for web (Smush, ShortPixel)
- Add alt text for SEO
Step 6: Add Contact & Social
Contact Information:
- Phone: +1 (555) 123-4567
- Email: info@restaurant.com
- Website: https://restaurant.com
Social Media:
- Facebook page URL
- Twitter profile URL
- Instagram username
- LinkedIn company page
Step 7: Configure Video (Optional)
Add video to showcase business:
Supported:
- YouTube embed URL
- Vimeo embed URL
Example:
https://www.youtube.com/watch?v=VIDEO_ID
Video displays on listing page with description.
Step 8: Set Pricing & Categories
Price Range:
- $ (Budget)
- $$ (Moderate)
- $$$ (Expensive)
- $$$$ (Luxury)
Categories: Select one or more categories:
- Italian Restaurant
- Pizza Place
- Fine Dining
Tags: Add relevant tags:
- pasta, wine bar, romantic, family-friendly
Step 9: Publish Listing
Review Information:
- Check all fields completed
- Preview listing appearance
- Verify location on map
Publish:
- Click Publish button (admin)
- Or Submit Listing (frontend)
- Listing appears on directory
- Or pending review (if moderation enabled)
Search & Filtering
Basic Search
Default search form includes:
Search Fields:
| Field | Function |
|---|---|
| What | Keyword search (title, description) |
| Where | Location search (city, address, zip) |
| Category | Filter by category |
| Search Button | Submit search |
Location:
- Top of listing archive
- Search page
- Widget (sidebar)
Advanced Search
With Advanced Search add-on:
Additional Filters:
| Filter | Options |
|---|---|
| Distance | Radius from location (5, 10, 25, 50 miles) |
| Price Range | $, $$, $$$, $$$$ |
| Rating | 1-5 stars |
| Open Now | Currently open businesses |
| Custom Fields | Any custom field you created |
Filter Layout:
- Vertical sidebar
- Horizontal bar
- Collapsible panels
- Modal/popup
Map Search
Interactive map-based search:
Features:
- Drag map to search area
- Zoom to adjust search radius
- Click markers to see listing preview
- “Search This Area” button
- Marker clustering for performance
Map Controls:
- Zoom in/out buttons
- Street view (if available)
- Satellite/terrain view toggle
- Fullscreen mode
Reviews & Ratings
Enable reviews on listings.
Setting Up Reviews
With GeoDirectory Reviews Add-on:
- Install GeoDirectory Reviews
- Go to GeoDirectory → Settings → Reviews
- Configure:
| Setting | Recommendation |
|---|---|
| Enable Reviews | Yes |
| Require Login | Yes (reduces spam) |
| Allow Images | Yes |
| Moderate Reviews | Auto-approve or manual |
| Rating Criteria | Service, quality, value, cleanliness |
Basic Reviews (Free):
- Simple star rating
- Review text
- User name and date
Advanced Reviews (Add-on):
- Multiple rating criteria
- Review images
- Verified reviews
- Helpful/not helpful voting
- Owner responses
Rating Criteria
Create custom rating criteria:
Example: Restaurant Reviews
| Criteria | Weight |
|---|---|
| Food Quality | 35% |
| Service | 25% |
| Atmosphere | 20% |
| Value | 20% |
Overall rating calculated automatically.
Managing Reviews
Review Moderation:
- Go to Places → Reviews (or listing type)
- View all reviews
- Actions available:
Owner Responses:
- Listing owners can respond
- Requires claim listing feature
- Shows “Owner’s Response” badge
Claim Listings
Let users claim existing listings.
Enable Claim Feature
Requires GeoDirectory Claim Listings add-on.
Setup:
- Install GeoDirectory Claim Listings
- Go to GeoDirectory → Settings → Claim Listings
- Configure:
| Setting | Options |
|---|---|
| Enable Claims | Yes |
| Require Verification | Email, phone, or admin approval |
| Claim Duration | 30 days, 1 year, lifetime |
| Claim Fee | Free or paid (with payments add-on) |
Claim Process
User Perspective:
- Find listing on site
- Click “Claim This Listing” button
- Fill claim form:
- Submit claim
- Admin reviews claim
- If approved: User gets edit access
Admin Approval:
- Go to GeoDirectory → Claimed Listings
- Review claim details
- Check verification
- Approve or deny
- User receives email notification
Claimed Listing Benefits:
- Edit listing details
- Update business hours
- Upload new photos
- Respond to reviews
- View statistics
- Promote listing (if available)
Front-End Submission
Members create listings from site frontend.
Enabling Front-End Submission
Default enabled, configure options:
Settings:
- Go to GeoDirectory → Settings → Listing Submission
- Configure:
| Setting | Recommendation |
|---|---|
| Guest Submissions | No (require login) |
| Submission Status | Pending review |
| Duplicate Check | Yes (prevents duplicates) |
| Required Fields | Title, description, location |
| User Dashboard | Enable for managing listings |
Submission Form
Create “Add Listing” page (wizard creates automatically):
Shortcode: [gdaddlisting]
Form Displays:
- All listing fields
- File upload fields
- Map for location selection
- Terms & conditions checkbox
- Submit button
User Experience:
- Visit Add Listing page
- Choose listing type (if multiple)
- Fill form fields
- Upload images
- Set location on map
- Agree to terms
- Click Submit
- Confirmation message appears
- Listing pending review (or published)
User Dashboard
Members manage their listings:
Dashboard Shortcode: [gduserdashboard]
Dashboard Features:
| Tab | Function |
|---|---|
| My Listings | View, edit, delete own listings |
| Add Listing | Create new listing |
| Favorites | Saved listings |
| Reviews | Reviews given |
| Invoices | Payment history (if paid listings) |
Listing Actions:
- Edit listing
- Renew listing (if expired)
- Upgrade listing (if packages available)
- Delete listing
- View statistics
Location Pages
Automatic pages for each location.
Location Hierarchy
GeoDirectory creates SEO-friendly location pages:
URL Structure:
yoursite.com/places/
├── united-states/
│ ├── california/
│ │ ├── san-francisco/
│ │ │ └── downtown/
│ │ └── los-angeles/
│ └── new-york/
│ └── manhattan/
└── united-kingdom/
└── london/
Page Content:
- Listings in that location
- Map of location
- Search form scoped to location
- Category links for location
- Breadcrumb navigation
Customizing Location Pages
Location Settings:
- Go to GeoDirectory → Settings → Locations
- Configure:
| Setting | Options |
|---|---|
| Location Levels | Country, Region/State, City, Neighborhood |
| Default Location | Set default for site |
| Location Selector | Dropdown or autocomplete |
| Show Location Count | Number of listings per location |
Location Slugs:
- Customize URL slugs
- Add custom location names
- Set location timezone
Categories & Taxonomies
Organize listings with categories.
Creating Categories
- Go to Places → Categories (or listing type)
- Click Add New Category
- Configure:
| Field | Example |
|---|---|
| Name | Italian Restaurants |
| Slug | italian-restaurants |
| Parent | Restaurants (if subcategory) |
| Description | Description for SEO |
| Icon | Upload category icon |
| Default Image | Fallback for listings without images |
Category Hierarchy:
Restaurants
├── Italian
├── Chinese
├── Mexican
└── American
├── Burgers
├── BBQ
└── Steakhouses
Category Display:
- Category archive pages
- Category filter in search
- Category badges on listings
- Category icons on map markers
Category Icons
Add visual icons to categories:
Icon Options:
- Upload custom image
- Use Font Awesome icon
- Select from icon library
Icon Displays:
- Map markers
- Category list pages
- Search filter
- Listing cards
Widgets & Shortcodes
Display GeoDirectory content throughout your site.
Essential Widgets
Widget Areas: Add to sidebars, footers, homepage areas.
Available Widgets:
| Widget | Displays |
|---|---|
| GD > Search | Search form |
| GD > Categories | Category list with counts |
| GD > Listings | Recent, featured, or popular listings |
| GD > Post Images | Listing image slider |
| GD > Advanced Search | Full search filters |
| GD > Author Actions | Edit/claim buttons (on listing pages) |
Widget Configuration:
Example: Recent Listings Widget
- Add to sidebar
- Configure:
Useful Shortcodes
Display GeoDirectory content with shortcodes:
Listing Archive:
[gd_listings post_type="gd_place" layout="list" show_pagination="1"]
Search Form:
[gd_search layout="default"]
Categories:
[gd_categories post_type="gd_place" title_tag="h3" columns="4"]
Map:
[gd_map map_type="auto" width="100%" height="450px"]
Single Listing Info:
[gd_post_meta key="phone" show="value"]
[gd_post_meta key="address" show="value"]
[gd_post_meta key="rating" show="value"]
Popular Listings:
[gd_listings post_type="gd_place" order_by="high_review" posts_per_page="6"]
BuddyPress Integration
Connect GeoDirectory with BuddyPress community.
BuddyPress Add-on Features
Requires GeoDirectory BuddyPress Integration add-on.
Features:
| Feature | Description |
|---|---|
| Profile Tab | Member’s listings on profile |
| Activity Posts | Listing activities in stream |
| Listing Author | Link to member profile |
| Member Reviews | Reviews by member |
| Favorites | Saved listings on profile |
Setup BuddyPress Integration
- Install GeoDirectory BuddyPress Integration
- Go to GeoDirectory → Settings → BuddyPress
- Configure:
Profile Tab Settings:
| Setting | Recommendation |
|---|---|
| Enable Profile Tab | Yes |
| Tab Name | “My Listings” or “Places” |
| Tab Slug | listings |
| Show on Profile | All members or authors only |
Activity Stream:
| Setting | Options |
|---|---|
| Post to Activity | When listing published |
| Post Type | New listing, updated listing, reviews |
| Show Map | Yes (thumbnail map in activity) |
Member Listings Display
Member profile tab shows:
Tab Content:
- All listings by member
- Listing status (published, pending, draft)
- Edit/delete buttons (own profile)
- Statistics (views, favorites, reviews)
Visitor View:
- Only published listings visible
- Link to full listing
- Rating and category
- Thumbnail image
Recommended Configurations
Business Directory
Listing Types:
- Businesses (general)
- Restaurants
- Services
- Shops
Key Features:
- User claims
- Reviews and ratings
- Business hours
- Contact forms
Search:
- Location radius
- Category filter
- Open now filter
- Advanced search
Real Estate Platform
Listing Types:
- For Sale
- For Rent
- Commercial
- Land
Key Fields:
- Price
- Bedrooms/bathrooms
- Square footage
- Property type
- Year built
Search:
- Price range
- Property features
- Map search
- Save search criteria
Event Directory
Listing Types:
- Events
- Venues
- Organizers
Key Fields:
- Event date/time
- Ticket price
- RSVP/registration
- Event category
- Organizer info
Features:
- Calendar view
- Upcoming events
- Event reminders
- Recurring events
Restaurant Guide
Listing Types:
- Restaurants
- Bars
- Cafes
- Food trucks
Key Fields:
- Cuisine type
- Price range
- Delivery/takeout
- Reservations
- Menu link
Features:
- User reviews
- Photo galleries
- Business hours
- Call/directions buttons
Common Questions
How do I add a Google Maps API key?
- Go to Google Cloud Console
- Create new project or select existing
- Enable “Maps JavaScript API”
- Create credentials → API key
- Copy API key
- In WordPress: GeoDirectory → Settings → Map
- Paste key in “Google Maps API Key” field
- Save settings
Can I have multiple listing types?
Yes, with GeoDirectory Custom Post Types add-on:
- Install add-on
- GeoDirectory → Settings → Post Types
- Click “Add New Post Type”
- Create as many types as needed
- Each gets own fields, categories, settings
How do I monetize my directory?
Methods:
- Paid Listings – Charge for submissions (Pricing Manager add-on)
- Featured Listings – Charge for premium placement
- Claim Fees – Charge for listing claims
- Advertising – Display ads on high-traffic pages
- Affiliate Links – Commission from listings
Requires GeoDirectory Pricing Manager add-on.
Can listings expire?
Yes, set expiration in listing packages:
- GeoDirectory → Packages (Pricing Manager add-on)
- Create package
- Set expiration: 30 days, 1 year, never
- Expired listings:
How do I import listings in bulk?
Use CSV import:
- GeoDirectory → Tools → Import
- Download sample CSV
- Fill with your data:
- Upload CSV file
- Map CSV columns to fields
- Run import
- Listings created automatically
Tips:
- Test with small batch first
- Validate addresses
- Check for duplicates
- Use proper encoding (UTF-8)
Can users add photos to reviews?
Yes, with GeoDirectory Reviews add-on:
- Install add-on
- GeoDirectory → Settings → Reviews
- Enable “Allow Review Images”
- Set maximum images per review
- Users can upload when reviewing
How do I change the listing URL structure?
- GeoDirectory → Settings → Post Types
- Find your post type
- Change “Slug” field
- Save settings
- Settings → Permalinks
- Click Save Changes
Example: Change from /places/ to /businesses/
Why aren’t maps showing?
Common causes:
- No API key – Add Google Maps API key
- API key restrictions – Check key settings in Google Console
- Billing disabled – Enable billing in Google account
- API not enabled – Enable Maps JavaScript API
- JavaScript errors – Check browser console
Solution: Test API key, check console errors, verify billing.
Performance Tips
For large directories:
- Enable Marker Clustering
- Limit Results
- Optimize Images
- Database Optimization
- Caching
Related Settings
- Sidebar Widget Areas – Widget placement
- Sidebar Layouts – GeoDirectory page layouts
- BuddyPress Member Profiles – Profile integration
- Site Layout Options – Container width
Need Help?
Documentation: docs.wbcomdesigns.com GeoDirectory Docs: wpgeodirectory.com/docs Support Forum: wbcomdesigns.com/support
Email Support: support@wbcomdesigns.com
Include: BuddyX Pro version, GeoDirectory version, and description of your directory type.
