Skip to main content
  • Goodwill Keystone Area

    Advancing Sustainability in Our Communities

    Our work is helping people with barriers to employment build skills, find jobs and grow their careers.

    Learn More About Goodwill Keystone

Advancing Sustainability in Our Communities

Our work is helping people with barriers to employment build skills, find jobs and grow their careers.

Learn More About Goodwill Keystone

Our Mission

We advance sustainability so that individuals and families can thrive and flourish.

Learn More About Goodwill

Programs & Services

Goodwill provides employment services that will support you in building skills, finding a job and growing your career. We involve you and your support network in the employment process.

Explore our Programs & Services

Business Services

Goodwill Keystone Area provides business services such as custodial and labor fulfillment to businesses and government in central and southeastern PA to support our mission.

Learn About Business Services

NOW HIRING

Looking for more than just a job? How about a career with a cause? Goodwill offers rewarding careers with opportunities to learn, grow and truly make a difference in people’s lives!

NOW HIRING

Goodwill wants and needs quality employees. Goodwill is looking to hire individuals committed to making a difference in someone's life.

Goodwill Success Stories

Learn how people in our communities are being impacted by Goodwill.

A New Chapter: Nate's Journey with Goodwill's PWAT Program

After seven years of unemployment and personal struggles, Nate found a new path through Goodwill's Personal and Work Adjustment Training (PWAT) program. Assig...

News

from Goodwill Keystone Area

View All News
GOODWILL KEYSTONE PARTNERS WITH YMCA OF GREATER BRANDYWINE TO HOST E-RECYCLING & DONATION DRIVE

NEWS:

GOODWILL KEYSTONE PARTNERS WITH YMCA OF GREATER BRANDYWINE TO HOST E-RECYCLING & DONATION DRIVE

Jul 02, 2025

All in the Community are Welcome at this Free Event on July 12 WEST GROVE, PA – The YMCA of Greater Brandywine (YGBW) and Goodwill Keystone are partnering to provide a free, drive-up Electronics ...

Keep Reading: GOODWILL KEYSTONE PARTNERS WITH YMCA OF GREATER BRANDYWINE TO HOST E-RECYCLING & DONATION DRIVE »
GOODWILL KEYSTONE OPENS NEW HARRISBURG STORE & DONATION CENTER

NEWS:

GOODWILL KEYSTONE OPENS NEW HARRISBURG STORE & DONATION CENTER

Jun 19, 2025

GOODWILL KEYSTONE OPENS NEW HARRISBURG STORE & DONATION CENTER WITH RIBBON CUTTING ON JUNE 20   HARRISBURG, Pa. – Goodwill Keystone celebrated the grand opening of its newest store and dona...

Keep Reading: GOODWILL KEYSTONE OPENS NEW HARRISBURG STORE & DONATION CENTER »
truetrue
Settings17.348MBMemory Usage209msRequest Duration
Theme
Open Button Position
Hide Empty Tabs
Autoshow
Reset to defaults
Joomla! Version5.3.0
PHP Version8.3.23
Identityguest
Response200
Templategoodwill-cassiopeia
Database
Server
mysql
Version
10.5.27-MariaDB
Collation
utf8_general_ci
Conn Collation
utf8mb4_general_ci
$_GET
array:2 [ "utm_medium" => "referral" "utm_source" => "idealist" ]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:54 [ "USER" => "yourgood" "HOME" => "/var/www/vhosts/yourgoodwill.org" "SCRIPT_NAME" => ...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1753175011 "last" => 1753175011...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (3.5MB) (48.46ms)
  • afterInitialise (6.94MB) (79.93ms)
  • afterRoute (624.47KB) (2.11ms)
  • beforeRenderComponent com_content (498.02KB) (5.4ms)
  • Before Access::preloadComponents (all components) (996.84KB) (11.54ms)
  • After Access::preloadComponents (all components) (120.14KB) (1.48ms)
  • Before Access::preloadPermissions (com_content) (1.63KB) (38μs)
  • After Access::preloadPermissions (com_content) (437.05KB) (2.18ms)
  • Before Access::getAssetRules (id:54 name:com_content.article.1) (18.65KB) (64μs)
  • After Access::getAssetRules (id:54 name:com_content.article.1) (26.68KB) (449μs)
  • afterRenderComponent com_content (436.14KB) (8.55ms)
  • afterDispatch (68.33KB) (281μs)
  • afterRender (1.9MB) (45.92ms)
  • 1 x afterInitialise (6.94MB) (38.33%)
    79.93ms
    1 x afterLoad (3.5MB) (23.24%)
    48.46ms
    1 x afterRender (1.9MB) (22.03%)
    45.92ms
    1 x Before Access::preloadComponents (all components) (996.84KB) (5.53%)
    11.54ms
    1 x afterRenderComponent com_content (436.14KB) (4.1%)
    8.55ms
    1 x beforeRenderComponent com_content (498.02KB) (2.59%)
    5.40ms
    1 x After Access::preloadPermissions (com_content) (437.05KB) (1.05%)
    2.18ms
    1 x afterRoute (624.47KB) (1.01%)
    2.11ms
    1 x After Access::preloadComponents (all components) (120.14KB) (0.71%)
    1.48ms
    1 x After Access::getAssetRules (id:54 name:com_content.article.1) (26.68KB) (0.22%)
    449μs
    1 x afterDispatch (68.33KB) (0.13%)
    281μs
    1 x Before Access::getAssetRules (id:54 name:com_content.article.1) (18.65KB) (0.03%)
    64μs
    1 x Before Access::preloadPermissions (com_content) (1.63KB) (0.02%)
    38μs
16 statements were executed11.42ms736.8KB
  • SELECT @@SESSION.sql_mode;125μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:259Copy
  • SELECT `data` FROM `jmla_session` WHERE `session_id` = ?617μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:250Copy
  • SELECT `session_id` FROM `jmla_session` WHERE `session_id` = :session_id LIMIT 1188μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `jmla_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)701μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `jmla_viewlevels`228μs976B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `jmla_usergroups` AS `a` LEFT JOIN `jmla_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest190μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jmla_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40,:preparedArray41)776μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jmla_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 0886μs93.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `jmla_content`560μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:539Copy
  • UPDATE `jmla_content` SET `hits` = (`hits` + 1) WHERE `id` = '1'754μs48B/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END AS `publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`metadata`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`featured`,`a`.`language`,LENGTH(`a`.`fulltext`) AS `readmore`,`a`.`ordering`,`fp`.`featured_up`,`fp`.`featured_down`,CASE WHEN `c`.`published` = 2 AND `a`.`state` > 0 THEN 2 WHEN `c`.`published` != 1 THEN 0 ELSE `a`.`state` END AS `state`,`c`.`title` AS `category_title`,`c`.`path` AS `category_route`,`c`.`access` AS `category_access`,`c`.`alias` AS `category_alias`,`c`.`language` AS `category_language`,`c`.`published`,`c`.`published` AS `parents_published`,`c`.`lft`,CASE WHEN `a`.`created_by_alias` > ' ' THEN `a`.`created_by_alias` ELSE `ua`.`name` END AS `author`,`ua`.`email` AS `author_email`,`uam`.`name` AS `modified_by_name`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,COALESCE(NULLIF(ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1), 0), 0) AS `rating`,COALESCE(NULLIF(`v`.`rating_count`, 0), 0) AS `rating_count` FROM `jmla_content` AS `a` LEFT JOIN `jmla_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jmla_users` AS `ua` ON `ua`.`id` = `a`.`created_by` LEFT JOIN `jmla_users` AS `uam` ON `uam`.`id` = `a`.`modified_by` LEFT JOIN `jmla_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jmla_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jmla_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE `a`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`access` IN (:preparedArray3,:preparedArray4) AND `c`.`published` = 1 AND `a`.`state` = :condition AND `a`.`catid` = :categoryId AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) ORDER BY created DESC1.73ms230.92KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END AS `publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`metadata`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`featured`,`a`.`language`,LENGTH(`a`.`fulltext`) AS `readmore`,`a`.`ordering`,`fp`.`featured_up`,`fp`.`featured_down`,CASE WHEN `c`.`published` = 2 AND `a`.`state` > 0 THEN 2 WHEN `c`.`published` != 1 THEN 0 ELSE `a`.`state` END AS `state`,`c`.`title` AS `category_title`,`c`.`path` AS `category_route`,`c`.`access` AS `category_access`,`c`.`alias` AS `category_alias`,`c`.`language` AS `category_language`,`c`.`published`,`c`.`published` AS `parents_published`,`c`.`lft`,CASE WHEN `a`.`created_by_alias` > ' ' THEN `a`.`created_by_alias` ELSE `ua`.`name` END AS `author`,`ua`.`email` AS `author_email`,`uam`.`name` AS `modified_by_name`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,COALESCE(NULLIF(ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1), 0), 0) AS `rating`,COALESCE(NULLIF(`v`.`rating_count`, 0), 0) AS `rating_count` FROM `jmla_content` AS `a` LEFT JOIN `jmla_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jmla_users` AS `ua` ON `ua`.`id` = `a`.`created_by` LEFT JOIN `jmla_users` AS `uam` ON `uam`.`id` = `a`.`modified_by` LEFT JOIN `jmla_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jmla_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jmla_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE `a`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`access` IN (:preparedArray3,:preparedArray4) AND `c`.`published` = 1 AND `a`.`state` = :condition AND `a`.`catid` = :categoryId AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) ORDER BY created DESC2.47ms391.59KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT * FROM `jmla_schemaorg` WHERE `itemId` = :itemId AND `context` = :context290μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:406Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `jmla_scheduler_tasks` AS `a` WHERE `a`.`state` = 1396μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `jmla_session` WHERE `session_id` = ?423μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:277Copy
  • UPDATE `jmla_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?1.09ms592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:301Copy